小编Jac*_*ack的帖子

所有double的Java总和不返回预期结果

可能重复:
在double中移动小数位

为什么以下数字总和不等于0.4622?但0.46219999999999994

Double total = new Double(0.08) + new Double(0.0491) + new Double(0.3218) + 
         new Double(0.0113) + new Double(0.0); // = 0.46219999999999994
Run Code Online (Sandbox Code Playgroud)

我有一个检查用户输入的应用程序.

用户输入5个十进制数和一个总数.应用程序检查komma后面4位小数的所有5个数字的总和是否等于总数.

限制它给了我0.4621不等于0.4622.我不能使用DecimalFormat,因为它将它向上舍入.如果我明确地说,向下舍入,那么这种情况就会失败.

关于如何解决这个问题的任何建议?

java double sum floating-accuracy decimalformat

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

decimalformat ×1

double ×1

floating-accuracy ×1

java ×1

sum ×1