我从另一个中减去一个大十字形。吼叫是代码。
BigDecimal s=new BigDecimal(new BigDecimal("472.24").floatValue() - new BigDecimal("100.0").floatValue());
System.out.println(s);
预期答案是= 372.24
实际答案= 372.239990234375
任何人都可以解释在BigDecimal中获得预期答案的原因和解决方案
答案 0 :(得分:5)
为什么不使用.subtract
:
BigDecimal s = new BigDecimal("472.24");
BigDecimal result = s.subtract(new BigDecimal("100.0"));
System.out.println(result);
<强>输出强>
372.24
答案 1 :(得分:3)
答案 2 :(得分:1)
你应该这样减去它们:
System.out.println(new BigDecimal("472.24").subtract(new BigDecimal("100.0")));