xih  
          日歷

          導航

          常用鏈接

          留言簿(2)

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           
          ??? java中用DecimalFormat df = new DecimalFormat("#######0.00");進行四舍五入時,如果最后一位為5,則會直接舍掉,而不會入上去。如:12.515,得到得 結果將是12.51。解決方法:
          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();
          ????}
          ??? java中的浮點數類型float和double不能進行運算,遇到有些數據得到的數據不準確。如:3.121-1=3.1209999999998。解決方法:
          public?class?Arith?{
          ????
          private?static?final?int?DEF_DIV_SCALE?=?10;
          ????
          ????
          /**
          ?????*?兩個Double數相加
          ?????*?
          @param?v1
          ?????*?
          @param?v2
          ?????*?
          @return?Double
          ?????
          */
          ????
          public?static?Double?add(Double?v1,Double?v2){
          ????????BigDecimal?b1?
          =?new?BigDecimal(v1.toString());
          ????????BigDecimal?b2?
          =?new?BigDecimal(v2.toString());
          ????????
          return?b1.add(b2).doubleValue();
          ????}
          ????
          ????
          /**
          ?????*?兩個Double數相減
          ?????*?
          @param?v1
          ?????*?
          @param?v2
          ?????*?
          @return?Double
          ?????
          */
          ????
          public?static?Double?sub(Double?v1,Double?v2){
          ????????BigDecimal?b1?
          =?new?BigDecimal(v1.toString());
          ????????BigDecimal?b2?
          =?new?BigDecimal(v2.toString());
          ????????
          return?b1.subtract(b2).doubleValue();
          ????}
          ????
          ????
          /**
          ?????*?兩個Double數相乘
          ?????*?
          @param?v1
          ?????*?
          @param?v2
          ?????*?
          @return?Double
          ?????
          */
          ????
          public?static?Double?mul(Double?v1,Double?v2){
          ????????BigDecimal?b1?
          =?new?BigDecimal(v1.toString());
          ????????BigDecimal?b2?
          =?new?BigDecimal(v2.toString());
          ????????
          return?b1.multiply(b2).doubleValue();
          ????}
          ????
          ????
          /**
          ?????*?兩個Double數相除
          ?????*?
          @param?v1
          ?????*?
          @param?v2
          ?????*?
          @return?Double
          ?????
          */
          ????
          public?static?Double?div(Double?v1,Double?v2){
          ????????BigDecimal?b1?
          =?new?BigDecimal(v1.toString());
          ????????BigDecimal?b2?
          =?new?BigDecimal(v2.toString());
          ????????
          return?b1.divide(b2,DEF_DIV_SCALE,BigDecimal.ROUND_HALF_UP).doubleValue();
          ????}
          ????
          ????
          /**
          ?????*?兩個Double數相除,并保留scale位小數
          ?????*?
          @param?v1
          ?????*?
          @param?v2
          ?????*?
          @param?scale
          ?????*?
          @return?Double
          ?????
          */
          ????
          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(v1.toString());
          ????????BigDecimal?b2?
          =?new?BigDecimal(v2.toString());
          ????????
          return?b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
          ????}

          }

          posted on 2007-03-15 16:46 費思量 閱讀(6148) 評論(1)  編輯  收藏
          評論:

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


          網站導航:
           
           
          Copyright © 費思量 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 泸定县| 潞西市| 彩票| 石阡县| 宝坻区| 绥江县| 丹巴县| 仁寿县| 宾阳县| 醴陵市| 泗洪县| 微博| 镇安县| 福安市| 甘南县| 浪卡子县| 邯郸县| 名山县| 中牟县| 辽宁省| 宾阳县| 乌鲁木齐市| 嘉定区| 石林| 庐江县| 贞丰县| 娱乐| 高碑店市| 沙洋县| 遂宁市| 新宾| 故城县| 吴桥县| 七台河市| 葫芦岛市| 平陆县| 隆子县| 文昌市| 衡山县| 万安县| 中阳县|