limq

          rainman
          隨筆 - 19, 文章 - 2, 評(píng)論 - 115, 引用 - 1
          數(shù)據(jù)加載中……

          四舍五入保留小數(shù)后兩位

           

           1 /**
           2  * Contains static utility methods.
           3  */
           4 public class BOUtils {
           5 
           6  public static Double getRoundedDouble( double unroundedValue ){
           7     // Get the integer portion of the value
           8     double intPortion = Math.floor( unroundedValue );
           9 
          10     // Get the unrounded decimal portion
          11     double unroundedDecimalPortion = ( unroundedValue - intPortion );
          12 
          13     /* ALERT - This next code interferes with I18N. We eventually need   */
          14     /*         to change this not assume only round to 2 decimal places. */
          15 
          16     /* Multiply the decimal places by 100, which shitfs the decimal point
          17     /* two places to the left. Then round it so that we get a round to
          18     /* two decimal places. For example, if we started with 17.655 and stripped
          19     /* off the int portion, which left .655. After we shift, we are left with
          20     /* 65.5. Then a round will gives us 66. We can then put it all back
          21     /* together */
          22     double roundedDecimalPortion = Math.round( unroundedDecimalPortion * 100 );
          23 
          24     // Shift the decimal point back two places to the right
          25     roundedDecimalPortion = roundedDecimalPortion / 100;
          26 
          27     // Add the int portion and decimal portions back together
          28     double total = intPortion + roundedDecimalPortion;
          29 
          30     return new Double( total );
          31   }
          32 }

          posted on 2005-09-21 23:59 limq 閱讀(7723) 評(píng)論(2)  編輯  收藏 所屬分類: 編程技巧

          評(píng)論

          # re: 四舍五入保留小數(shù)后兩位  回復(fù)  更多評(píng)論   

          new DecimalFormat("0.00").format(*******);
          這樣也可以,你那種太麻煩。
          2005-11-19 14:26 | 網(wǎng)絡(luò)幽靈

          # re: 四舍五入保留小數(shù)后兩位  回復(fù)  更多評(píng)論   

          是呀,在創(chuàng)建的時(shí)候,用數(shù)字的字符串形式創(chuàng)建,就可以了

          new BigDecimal("99.115").setScale(2, BigDecimal.ROUND_HARF_UP);
          2006-11-01 16:48 | Toez
          主站蜘蛛池模板: 井冈山市| 宁夏| 洪泽县| 长垣县| 徐州市| 来宾市| 义乌市| 九寨沟县| 故城县| 交城县| 苍山县| 德清县| 青阳县| 昌图县| 定州市| 宁都县| 迁安市| 喀喇| 雷波县| 渑池县| 建阳市| 临洮县| 泸定县| 维西| 德庆县| 肥东县| 竹北市| 浦江县| 汕头市| 西藏| 阿鲁科尔沁旗| 台安县| 衢州市| 邵阳县| 泸定县| 张掖市| 丽江市| 甘泉县| 万州区| 博兴县| 常宁市|