我有一个 BigDecimal 数字,我只考虑它的小数点后 2 位,所以我使用以下方法截断它:
bd = bd.setScale(2, BigDecimal.ROUND_DOWN)
现在我想将它打印为字符串,但如果它是 0,则删除小数部分,例如:
1.00 -> 1
1.50 -> 1.5
1.99 -> 1.99
我尝试使用 Formatter,formatter.format,但我总是得到 2 个小数位。
我怎样才能做到这一点?也许处理来自 bd.toPlainString() 的字符串?
原文由 res1 发布,翻译遵循 CC BY-SA 4.0 许可协议
我使用
DecimalFormat
格式化BigDecimal
而不是格式化String
,似乎没有问题。代码是这样的: