【发布时间】:2011-06-29 08:06:08
【问题描述】:
我想使用 Java 的 DecimalFormat 来像这样格式化双精度:
#1 - 100 -> $100
#2 - 100.5 -> $100.50
#3 - 100.41 -> $100.41
到目前为止,我能想到的最好的是:
new DecimalFormat("'$'0.##");
但这不适用于案例 #2,而是输出“$100.5”
编辑:
很多这些答案只考虑案例 #2 和 #3,并没有意识到他们的解决方案会导致 #1 将 100 格式化为“$100.00”,而不仅仅是“$100”。
【问题讨论】:
-
顺便说一句,使用双精度表示货币价值是个坏主意:stackoverflow.com/q/3730019/56285
-
顺便说一句,银行中的大多数价格都表示为
double(或int,精度固定)。
标签: java formatting decimalformat