Ric*_*ard 1 java double decimal decimalformat
我想在屏幕上用2个小数点打印出双精度值。到目前为止,这条线已经完美运行:
System.out.println(new DecimalFormat("$#,###.##").format(value));
Run Code Online (Sandbox Code Playgroud)
对于像这样的输入:
double value = 82348238482834.23482348;
Run Code Online (Sandbox Code Playgroud)
它输出:
$82,348,238,482,834.23
Run Code Online (Sandbox Code Playgroud)
这正是我想要的。但是,如果我有输入,则0希望将其打印出来$0.00。使用上述格式行,它会打印出来$0。我尝试将上面的代码更改为:
double value = 0;
System.out.println(new DecimalFormat("$#,###.00").format(value));
Run Code Online (Sandbox Code Playgroud)
但是那印出来了$.00。我可以这样做:
if(value == 0) {
System.out.println("$0.00");
}
Run Code Online (Sandbox Code Playgroud)
它可以工作,但是非常难看。还有其他解决方法吗?
使用:
System.out.println(new DecimalFormat("$#,##0.00").format(value));
Run Code Online (Sandbox Code Playgroud)
已更改:
"$#,##0.00"
Run Code Online (Sandbox Code Playgroud)
如Jon所说,0表示一个数字,因此它包括零,#表示一个数字,但零表示不存在。
有关DecimalFormat的更多信息。
| 归档时间: |
|
| 查看次数: |
3428 次 |
| 最近记录: |