我是 Java 的新手,我正在为月付计算器编写代码,我遇到的唯一问题是我遇到的舍入错误。我需要通过以下方式计算每月付款:
System.out.printf("Your monthly payment will be:$%.2f", payment);
这部分出来了
现在我必须弄清楚他们在付款结束时会支付多少钱,所以我做了:
System.out.printf("You will be paying a total amount of $%.2f", payment * months);
这就是我的问题所在,在第一次打印时四舍五入付款,在第二次打印四舍五入付款乘以月份,我只需要它四舍五入付款然后乘以月份但我无法弄清楚如何。任何帮助都会很棒。
最佳答案
使用 BigDecimal
而不是 double
。符号更难看。使用 new BigDecimal("12.34")
让 BigDecimal 知道精度。用法更加丑陋,因为您需要 add
和 multiply
等方法。
顺便说一句,数据库中也使用 DECIMALS,以具有固定的精度,而不是 float 近似值。
出于某种原因,进行搜索。
关于使用 %.2f 的 Java 小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25997276/