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

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


    網站導航:
     
    主站蜘蛛池模板: 91亚洲国产成人精品下载| 亚洲热线99精品视频| 亚洲中文字幕乱码一区| 日本最新免费网站| 亚洲美女aⅴ久久久91| 性色午夜视频免费男人的天堂 | 国产午夜无码视频免费网站| 亚洲熟女乱色一区二区三区| 成年性生交大片免费看| 亚洲av成人一区二区三区观看在线 | 亚洲高清视频免费| AA免费观看的1000部电影| 亚洲精品一卡2卡3卡四卡乱码| 国产无遮挡色视频免费视频| 日韩精品无码永久免费网站| 国产亚洲精品AA片在线观看不加载 | 亚洲一区二区三区久久久久| 国产日产亚洲系列| 花蝴蝶免费视频在线观看高清版| 久久久久久久久亚洲| 国内免费高清在线观看| 在线观看亚洲精品专区| 国内精品99亚洲免费高清| 99视频免费观看| 亚洲精品天堂无码中文字幕| 亚洲国产黄在线观看| 免费黄网站在线看| 亚洲一区二区三区免费视频 | 亚洲av无码乱码国产精品fc2| 欧洲一级毛片免费| 国产精品无码亚洲精品2021| 亚洲精品自产拍在线观看| 永久在线观看www免费视频| 亚洲国产成人久久综合| 亚洲色爱图小说专区| 无人在线观看免费高清视频 | 国产成人在线观看免费网站| 最近更新免费中文字幕大全| 亚洲三级视频在线观看| 国产午夜亚洲不卡| 成人免费男女视频网站慢动作|