如何使用十进制格式将0显示为0.00?

Hit*_*ani 7 java decimalformat

我使用以下代码使数字显示两个小数位和数千个逗号分隔符.

public static String formatNumber(double amount){
    DecimalFormat formatter = new DecimalFormat("#,###.00");
    return formatter.format(amount);
}
Run Code Online (Sandbox Code Playgroud)

对于其他数字,它可以,但0返回为".00"我希望它为"0.00"我应该更改什么?

eck*_*kes 16

#意味着可选数字,所以如果你使用0它,它将起作用:

    DecimalFormat formatter = new DecimalFormat("#,##0.00");
Run Code Online (Sandbox Code Playgroud)

顺便说一句:我认为你需要3 ###而不是4.


JCl*_*sic 9

为什么不

return String.format("%.2f", amount);
Run Code Online (Sandbox Code Playgroud)

那会正确格式化它不是吗?(如果金额是123123.14233那么它将返回123123.14)

要么

return String.format("%,.2f", amount); 
Run Code Online (Sandbox Code Playgroud)

对于数字内的逗号.(如果金额是123123.14233那么它将返回123,123.14)