<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-31  評論-7  文章-0  trackbacks-0

    package lc.util;

    import java.math.BigDecimal;

    public class MathHelper {
     private static final int DEF_DIV_SCALE = 10;

     private MathHelper() {

     }

     /**
      * 提供精確的加法運算。
      *
      * @param v1
      *            被加數
      * @param v2
      *            加數
      * @return 兩個參數的和
      */
     public static double add(double v1, double v2) {
      BigDecimal b1 = new BigDecimal(Double.toString(v1));
      BigDecimal b2 = new BigDecimal(Double.toString(v2));
      return b1.add(b2).doubleValue();
     }

     /**
      * 提供精確的減法運算。
      *
      * @param v1
      *            被減數
      * @param v2
      *            減數
      * @return 兩個參數的差
      */
     public static double sub(double v1, double v2) {
      BigDecimal b1 = new BigDecimal(Double.toString(v1));
      BigDecimal b2 = new BigDecimal(Double.toString(v2));
      return b1.subtract(b2).doubleValue();
     }

     /**
      * 提供精確的乘法運算。
      *
      * @param v1
      *            被乘數
      * @param v2
      *            乘數
      * @return 兩個參數的積
      */
     public static double mul(double v1, double v2) {
      BigDecimal b1 = new BigDecimal(Double.toString(v1));
      BigDecimal b2 = new BigDecimal(Double.toString(v2));
      return b1.multiply(b2).doubleValue();
     }

     /**
      * 提供(相對)精確的除法運算,當發生除不盡的情況時,精確到 小數點以后10位,以后的數字四舍五入。
      *
      * @param v1
      *            被除數
      * @param v2
      *            除數
      * @return 兩個參數的商
      */
     public static double div(double v1, double v2) {
      return div(v1, v2, DEF_DIV_SCALE);
     }

     /**
      * 提供(相對)精確的除法運算。當發生除不盡的情況時,由scale參數指 定精度,以后的數字四舍五入。
      *
      * @param v1
      *            被除數
      * @param v2
      *            除數
      * @param scale
      *            表示表示需要精確到小數點以后幾位。
      * @return 兩個參數的商
      */

     public static double div(double v1, double v2, int scale) {
      if (scale < 0) {
       throw new IllegalArgumentException(
         "The scale must be a positive integer or zero");
      }
      BigDecimal b1 = new BigDecimal(Double.toString(v1));
      BigDecimal b2 = new BigDecimal(Double.toString(v2));
      return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
     }

     /**
      * 提供精確的小數位四舍五入處理。
      *
      * @param v
      *            需要四舍五入的數字
      * @param scale
      *            小數點后保留幾位
      * @return 四舍五入后的結果
      */
     public static double round(double v, int scale) {
      if (scale < 0) {
       throw new IllegalArgumentException(
         "The scale must be a positive integer or zero");
      }
      BigDecimal b = new BigDecimal(Double.toString(v));
      BigDecimal one = new BigDecimal("1");
      return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
     }
    }



    --------------------------
    09博客園紀念T恤
    新聞:王建宙臺灣布道TD:痛快,一起努力的感覺
    網站導航: 博客園首頁  個人主頁  新聞  社區  博問  閃存  找找看
    文章來源:http://www.cnblogs.com/xiaoao808/archive/2009/05/20/1469589.html
    posted on 2009-05-20 17:13 破名超難起 閱讀(311) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲美免无码中文字幕在线| 亚洲精品乱码久久久久久中文字幕| 在线免费观看亚洲| 女同免费毛片在线播放| 亚洲伊人久久大香线蕉综合图片| 一级毛片免费观看不收费| 国产精品亚洲mnbav网站| 国产精品福利在线观看免费不卡| 亚洲一区二区高清| a级毛片在线免费观看| 九月丁香婷婷亚洲综合色| 国产色无码精品视频免费| 亚洲一区中文字幕久久| 69av免费观看| 国产午夜亚洲精品| 国产传媒在线观看视频免费观看| 一本到卡二卡三卡免费高| 久久久久亚洲AV无码专区首| 亚洲精品免费网站| 亚洲av无码一区二区三区天堂| 亚洲VA综合VA国产产VA中| 免费无码H肉动漫在线观看麻豆| 亚洲麻豆精品果冻传媒| 成熟女人牲交片免费观看视频| 美女裸免费观看网站| 亚洲国产精品一区第二页| 麻豆高清免费国产一区| 国产91成人精品亚洲精品| 亚洲色偷偷综合亚洲AVYP| 亚洲无砖砖区免费| 国产亚洲美女精品久久久久| 亚洲AV综合色一区二区三区| 日本三级2019在线观看免费| 黄色网页免费观看| 亚洲综合男人的天堂色婷婷| 国产小视频在线免费| 三级网站在线免费观看| 国产精品亚洲精品观看不卡| 久久伊人亚洲AV无码网站| 日日麻批免费40分钟日本的| 日韩在线视频免费|