我正在尝试计算商品的百分比(9% 税)
double amount = 55.4;
double total = amount * 0.09;
System.out.printf ("%f \n", total);
System.out.printf ("%.2f \n", total);
返回
4.986000
4.99
如何让它返回 4.98?
谢谢!
最佳答案
使用 BigDecimal 而不是 double。
double 是 float ,它无法准确表示所有小数部分,因此您会遇到“舍入”问题。
BigDecimal 是任意精度的,因此不存在这个问题。
关于java - 如何防止 double 四舍五入到小数点后两位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59681234/