簡體   English   中英

四舍五入為兩位數到小數點后三位,但小數點后第三位為零在Java中消失

[英]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);

使用setMinimumFractionDigitssetRoundingMode

    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.

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