1
BigDecimal ap = new BigDecimal(170.8999999999998, MathContext.DECIMAL64).setScale(2, BigDecimal.ROUND_FLOOR);
结果:170.89(必填:170.89)
2
BigDecimal ap = new BigDecimal(170.89999999999998, MathContext.DECIMAL64).setScale(2, BigDecimal.ROUND_FLOOR); (1 Extra 9 in value)
结果:170.90(必填:170.89)
3
BigDecimal ap = new BigDecimal(2401.99).setScale(2, BigDecimal.ROUND_FLOOR);
结果:2401.98(必填:2401.99)
如何在没有舍入的情况下从值开始得到小数点后的2位数。
P.S:我不想将值转换为String。
答案 0 :(得分:4)
df_observed
是一个2401.99
文字,实际值低于该值。
使用double
中的BigDecimal
构造函数。