limq

          rainman
          隨筆 - 19, 文章 - 2, 評論 - 115, 引用 - 1
          數據加載中……

          四舍五入保留小數后兩位

           

           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 閱讀(7737) 評論(2)  編輯  收藏 所屬分類: 編程技巧

          評論

          # re: 四舍五入保留小數后兩位  回復  更多評論   

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

          # re: 四舍五入保留小數后兩位  回復  更多評論   

          是呀,在創建的時候,用數字的字符串形式創建,就可以了

          new BigDecimal("99.115").setScale(2, BigDecimal.ROUND_HARF_UP);
          2006-11-01 16:48 | Toez
          主站蜘蛛池模板: 桃江县| 眉山市| 上杭县| 留坝县| 内丘县| 黄骅市| 保康县| 晴隆县| 马山县| 屏东县| 京山县| 沈丘县| 鸡西市| 申扎县| 金山区| 梅河口市| 宣城市| 碌曲县| 岫岩| 黄平县| 台东县| 荥经县| 瑞丽市| 卢氏县| 汝阳县| 交城县| 武汉市| 丹凤县| 崇阳县| 阜新市| 冕宁县| 江西省| 万山特区| 古田县| 丹寨县| 长治市| 新昌县| 南昌市| 平舆县| 平邑县| 临高县|