我想近似一个小数点后仅显示两位数的数字。我写了这个:
String result = String.valueOf(new BigDecimal(price).setScale(4, BigDecimal.ROUND_UP).doubleValue());
如果price
是十进制数63,9222
,则可以正常工作。但是如果price
是,例如,等于7.00
,被打印出来7.0
。
我尝试使用RoundingMode.CEILING
而不是BigDecimal.ROUND_UP
,但它没有用,我不知道为什么。也许使用 Double 而不是 BigDecimal 会更好?