我正在尝试使用 DecimalFormat 格式化价格,但这并不适用于所有变体。
DecimalFormat df = new DecimalFormat("0.##")
df.format(7.8)
df.format(85.0)
印刷
7.80
和
85
但是“7.79999”被格式化为“7.8”,而不是“7.80”。我试过这样做
DecimalFormat df = new DecimalFormat("0.00")
强制两个 dp,但随后“85.0”被格式化为“85.00”而不是“85”!
有没有一种方法可以捕获所有变化,以便将价格打印为#、## 或#.##?例如:
5, 55, 5.55, 5.50, 500, 500.40
原文由 Jon 发布,翻译遵循 CC BY-SA 4.0 许可协议
这似乎不是由一个
formatter
解决的。我建议您使用"0.00"
格式并将".00"
替换为空字符串。