簡體   English   中英

Java decimalFormat RoundingMode

[英]Java decimalFormat RoundingMode

我需要對此進行存檔:(基本上是num1 * num2 = num3並給出了num1num2

1) 10.62 * 4.0 = 42.48 
2) 14.89 * 8.5 = 126.56 
3) 13.21 * 6.0 = 79.26 
4) 16.55 * 7.35 = 121.64 
5) 18.62 * 9.0 = 167.58 
6) 9.47 * 15.3 = 144.89
7) 6.58 * 3.0 = 19.74 
8) 18.32 * 5.4 = 98.93 
9) 12.15 * 2.9 = 35.24 
10) 3.98 * 4.8 = 19.10

本練習是練習格式化/舍入字符串/數字。

所以我用了:

DecimalFormat decimalFormat = new DecimalFormat(".00");
System.out.println(decimalFormat.format(num3));

並得到正確的結果,但9) 12.15 * 2.9 = 35.24 ,我得到的是35.23而不是35.24 。默認的RoundingMode的DecimalFormat為HALF_EVEN,如果我使用RoundingMode.UP,我會得到正確的35.24,但其他結果將被弄亂,所以我卡住...

我應該使用什么才能獲得預期的結果?

使用RoundingMode UNNECESSARY可以解決您的問題。 此外,您可以捕獲異常並根據需要手動指定輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM