[記錄] 1.保留小數
保留兩位小數,java方式,使用NumberFormat來實現,結果四捨五入
double sourcePrice = 4940.20;// sourcePrice = 1514940.20 double reductionPrice = 0.1; double price = sourcePrice - reductionPrice; NumberFormat nf = NumberFormat.getNumberInstance(); // notice here nf.setMaximumFractionDigits(2); System.out.println(nf.format(price));
輸出結果:
(結果中看到是一位,其實是預設去掉了最後一位的0。
即4940.10,最終顯示4940.1;
如果計算結果是4940.00,那麼最終是4940;)
4,940.1
.
1,514,940.1 2.分隔字元
注意上面結果的分隔字元,千位分隔字元,百萬分隔字元,……),使用時會直接顯示出分隔字元,如果想去掉,則使用
nf.setGroupingUsed(false);
輸出結果則變成了(無分隔字元):
4940.1
.
1514940.1 3.其他方法實現
double number = 12345.5593;// 目標值
System.out.println("---計算-保留2位小數-BigDecimal----------四捨五入--------------");BigDecimal bigDecimal = new BigDecimal(number);double resNumber = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println(resNumber);
System.out.println("---計算-保留2位小數-DecimalFormat--------四捨五入----------------");DecimalFormat decimalFormat = new DecimalFormat("#.00");System.out.println(decimalFormat.format(number));
System.out.println("---計算-保留2位小數-String.format--------四捨五入----------------");System.out.println(String.format("%.2f", number));
輸出結果:
12345.55