我用下面的函數如何在java中舍入0.0到0.00?
float val=0.0;
DecimalFormat toTheFormat = new DecimalFormat("#.##");
float value=Float.valueOf(toTheFormat.format(val));
但它不適合還是喜歡「0.0」的所有條件「0.0」。它不會擴大到「0.00」。
我用下面的函數如何在java中舍入0.0到0.00?
float val=0.0;
DecimalFormat toTheFormat = new DecimalFormat("#.##");
float value=Float.valueOf(toTheFormat.format(val));
但它不適合還是喜歡「0.0」的所有條件「0.0」。它不會擴大到「0.00」。
使用
DecimalFormat toTheFormat = new DecimalFormat("0.00");
四捨五入到2顯著位
嘗試
DecimalFormat toTheFormat = new DecimalFormat("#.00");
此方法的輸出爲String。如果我需要浮動,該怎麼辦? –
你可以做一個轉換結果 – sunysen
你的做法是錯誤的。 四捨五入是一個數字運算,它需要一個數字x並返回另一個數字y,該數字與x近似,並具有十進制擴展只有這麼多數字的屬性。例如:
0.123 --> 0.12
但0.0和0.00是完全相同的數字,舍入沒有意義。你(可能)想要的是在輸出上以某種方式格式化數字。爲此,請參閱其他答案。
如果我使用DecimalFormat toTheFormat = new DecimalFormat("#.00");
我得到輸出.00沒有0.00
所以這將是正確的代碼
DecimalFormat toTheFormat = new DecimalFormat("#0.00");
你可以省略領先的'#'...... – Reimeus
嘗試。仍然得到相同的結果。 –
'floats'不能正確填充零 - 您需要使用'toTheFormat.format(val)'本身的輸出而不是'value' – Reimeus
此方法的輸出是String。如果我需要浮動,該怎麼辦? –