关于double类型数字相加位数发生变化的问题

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于double类型数字相加位数发生变化的问题相关的知识,希望对你有一定的参考价值。

??

因为计算机内部存贮本身的缺陷,导致double类型的数字相加。得到的结果有非常多位,比方

774.23 750.0 2638.66 4162.889999999999


看到这个是不是非常晕

当然也有解决方式

new BigDecimal(Double.toString(a)).add( new BigDecimal(Double.toString(b))).add( new BigDecimal(Double.toString(c)))

用BigDecimal和add。问题迎刃而解


774.23 750.0 2638.66 4162.89



哈哈


以上是关于关于double类型数字相加位数发生变化的问题的主要内容,如果未能解决你的问题,请参考以下文章

double类型字符串转换成一个纯数字字符串和一个小数点位数的c++代码

java中2个或多个数字变量直接相乘相加减运算

解决从Excel导入数据库,导入到DataTable时数据类型发生变化的问题(如数字类型变成科学计数法,百分数变成小数)

double 小数点后允许的最大位数

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。

将一个数字的位数相加