<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲三级高清免费| 亚洲国产综合精品| 男女作爱免费网站| 国产黄色片在线免费观看| 亚洲日韩国产AV无码无码精品| 曰批全过程免费视频在线观看| 激情亚洲一区国产精品| 毛色毛片免费观看| 亚洲精品精华液一区二区| 国产一级淫片免费播放| 国产亚洲精品美女久久久久| 免费a级毛片永久免费| 成人免费福利视频| 亚洲日韩国产精品乱-久| 日韩一级免费视频| 伊人久久国产免费观看视频| 在线精品亚洲一区二区小说| 精品成人免费自拍视频| 亚洲大香人伊一本线| 成人a免费α片在线视频网站| 亚洲福利在线视频| 91九色视频无限观看免费| 亚洲国产91在线| 免费一级毛片不卡在线播放| 成人免费777777被爆出| 亚洲成年人电影网站| 免费无码不卡视频在线观看| 一级毛片在线免费视频| 亚洲视频2020| 国产免费午夜a无码v视频| 国产又黄又爽又大的免费视频| 亚洲黄色片免费看| 国产免费看插插插视频| 国产一区二区三区免费| 中文文字幕文字幕亚洲色| 亚洲男人第一无码aⅴ网站| 1000部无遮挡拍拍拍免费视频观看| 亚洲免费网站观看视频| 久久国产亚洲精品麻豆| 大学生高清一级毛片免费| 中文在线免费看视频|