Java Double Format即使为零也显示2个小数点

标签 java double decimal decimalformat

我想在屏幕上打印出带 2 个小数点的 double 值。到目前为止,这条线运行良好:

System.out.println(new DecimalFormat("$#,###.##").format(value));

对于像这样的输入:

double value = 82348238482834.23482348;

它打印出:

$82,348,238,482,834.23

这正是我想要的。但是,如果我有输入 0,我希望它打印出 $0.00。使用上面的格式行,它打印出 $0。我尝试将上面的代码更改为:

double value = 0;
System.out.println(new DecimalFormat("$#,###.00").format(value));

但是打印出了 $.00。我可以这样做:

if(value == 0) {
    System.out.println("$0.00");
}

它有效,但非常丑陋。有没有其他方法可以解决这个问题?

最佳答案

使用:

System.out.println(new DecimalFormat("$#,##0.00").format(value));

更改:

"$#,##0.00"

正如 Jon 所说,0 表示一个数字,因此它包含零,# 表示一个数字,但零显示为不存在。

有关 DecimalFormat. 的更多信息

关于Java Double Format即使为零也显示2个小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257221/

相关文章:

java - 我在服务器套接字上接受客户端连接时捕获了 IOException。现在怎么办?

java - Playframework 的社交群?

java - 无法生成固定大小的字母数字符号字符串

java - 如何将依赖源复制到maven中的目录

PHP更改小数点分隔符

c# - 为什么 C# 中的 sin(x) 函数返回 NaN 而不是数字

c++ - 小数四舍五入为零

java - 在双链表中插入新元素

Python:将小数转换为月份

c# - C# 中的四舍五入小数值