使用 %.2f 的 Java 小数

标签 java

我是 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 知道精度。用法更加丑陋,因为您需要 addmultiply 等方法。

顺便说一句,数据库中也使用 DECIMALS,以具有固定的精度,而不是 float 近似值。

出于某种原因,进行搜索。

关于使用 %.2f 的 Java 小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25997276/

相关文章:

java - 如何通过 GET/POST 安全地发送密码?

java - Google Web API可以拥有自己的google资源吗?

java - 为什么我的 clickListener 仅在我第二次调用它时才使我的应用程序崩溃

java - 调用 JavaFX 应用程序两次

java - 通过两个参数对 Java 列表进行排序?

java - 在递归方法内的循环中添加计数器 - Java

java - Android Studio 返回 "Could not find play-services-ads.aar"

java - 如果注入(inject)器是 child ,Jersey-Guice 不会处理绑定(bind)资源?

java - 表格宽度太大

java - 如何使用反射解析泛型返回类型的实际类型?