[英]Rounding off a double to 3 digit decimal place but zero at 3rd decimal place disappears in java
我想在Java中將我的雙精度舍入到小數點后第3位。
我不想削減零。 因此,如果我的倍數是2.34,我仍然希望它是2.340。
DecimalFormat myFormatter = new DecimalFormat("0.000");
String output = myFormatter.format(2.34d);
String res = String.format("%.3f", 2.34);
或者如果您想打印
System.out.printf( "%.3f",2.34);
使用setMinimumFractionDigits和setRoundingMode
final DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(3);
df.setRoundingMode(RoundingMode.HALF_UP);
df.format(2.34);
使用以下十進制格式: 0.000
根據Tony Ennis的評論,您不能將浮點變量四舍五入到特定的小數位數或位數, 而無需將其轉換為10進制。 這就是上面的答案,他們還將其轉換為可顯示的文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.