Using doubles in multiplication (java)
本问题已经有最佳答案,请猛点这里访问。
我有一个项目,在这个项目中,我必须创建一个购物车,有多个选项,例如向购物车中添加一定数量的项目。除非用户提示输入购物车的总数,否则一切都正常工作。它将输出一个疯狂的数字,例如15.9614.9500000000000000013.0美元。
这是用来打印总数的代码。所有的值都是双精度的。有什么帮助吗?
1 2 3 4 | System.out.println("Your total comes to $" + (dynamicRope * dynamicRopeCost) + (staticRope * staticRopeCost) + (webbing * webbingCost)); |
由于您处理购物车中的值,并且
1 2 3 4 5 6 7 8 9 10 11 | 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))); |