在乘法中使用双精度(java)
这个问题在这里已经有了答案:
由于您正在处理购物车中的值,并且double
的值只能精确到某一点,所以我建议您使用BigDecimal
的值,因为它们提供了一个数字的精确表示。 双打的不精确性是导致你的控制台输出不正确的原因。
import java.math.BigDecimal;
BigDecimal dynamicRope = new BigDecimal("4"); // example value of 4
BigDecimal dynamicRopeCost = new BigDecimal("5.50"); // example value of 5.50
// Initialize the other variables as BigDecimal's here
System.out.println("Your total comes to $" +
dynamicRope.multiply(dynamicRopeCost)
.add(staticRope.multiply(staticRopeCost))
.add(webbing.multiply(webbingCost)));
链接地址: http://www.djcxy.com/p/85819.html