在乘法中使用双精度(java)

这个问题在这里已经有了答案:

  • 为什么不使用Double或Float来表示货币? 14个答案

  • 由于您正在处理购物车中的值,并且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

    上一篇: Using doubles in multiplication (java)

    下一篇: Rounding a Bill Total in Java