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

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

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

    明天的明天的明天

    用鍵盤改變生活

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      17 Posts :: 0 Stories :: 19 Comments :: 0 Trackbacks
    /*
     * 創建日期 2004-10-14
     *
     * 如果需要精確計算,非要用String來夠造BigDecimal不可
     */
    package com.lims.actions.testqc.comm;

    /**
     * @author Jstar
     *
     *
     * 窗口 > 首選項 > Java > 代碼生成 > 代碼和注釋
     */

    import java.math.BigDecimal;

    /**
    * 由于Java的簡單類型不能夠精確的對浮點數進行運算,這個工具類提供精
    * 確的浮點數運算,包括加減乘除和四舍五入。
    */

    public class Arith {

     //默認除法運算精度

     private static final int DEF_DIV_SCALE = 10;

     //這個類不能實例化

     private Arith() {

     }

     /**
     
      * 提供精確的加法運算。
     
      * @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();

     }

    };

    posted on 2007-09-17 13:01 Endless 閱讀(513) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品又粗又大又爽A片| 蜜芽亚洲av无码精品色午夜| 亚洲国产综合精品中文第一| a拍拍男女免费看全片| 99人中文字幕亚洲区 | 日韩欧美亚洲中文乱码| 成年大片免费视频| 亚洲午夜无码久久久久软件| 成年轻人网站色免费看| 鲁死你资源站亚洲av| 国产在线98福利播放视频免费| 午夜亚洲WWW湿好爽| 免费一级毛片不卡在线播放| 欧洲乱码伦视频免费国产| 亚洲乱码中文字幕手机在线 | a毛片在线免费观看| 久久久久亚洲av无码尤物| 91av在线免费视频| 色天使亚洲综合在线观看| 免费观看男人免费桶女人视频| 国产精品亚洲色图| 国产成人精品亚洲精品| 毛片在线全部免费观看| 亚洲香蕉免费有线视频| 成人毛片手机版免费看| 在线播放亚洲精品| 久久被窝电影亚洲爽爽爽| ww4545四虎永久免费地址| 国产偷国产偷亚洲清高APP| 四虎亚洲国产成人久久精品| 免费一区二区无码东京热| 亚洲制服丝袜在线播放| 精品久久洲久久久久护士免费 | 亚洲天堂中文字幕在线| 日韩免费在线视频| 亚洲kkk4444在线观看| 亚洲精品偷拍视频免费观看| 精品无码无人网站免费视频| 亚洲成AV人片高潮喷水| 亚洲日产韩国一二三四区| 青青在线久青草免费观看|