说精度问题,太含糊了,我给楼主说明下: 假如我我们有10个double变量: 1.0000000000000000 - a (注意a与其他变量不同,它精确到小数点后16位) 1.00000000000000001 - b 1.00000000000000005 - c 1.00000000000000007 - d 1.00000000000000001 - e 1.00000000000000001 - f 1.00000000000000001 - g 1.00000000000000001 - h 1.00000000000000001 - i 1.00000000000000001 - g然后我们现在要任意选几个变量相加 = sum 我们打印的时候,肯定有个精确度,比如是16,你越多数加,精确度就越降低。
double i = 0.80;
double j = 0.20;
double k = 0.89
double f = i+j+k;
System.out.println(f);输出结果却是:1.8900000000000001 double i = 0.80;
double j = 0.20;
double k = 0.88;
double f = i+j+k;
System.out.println(f);输出结果却是:1.88
奇怪!!!!!!
这个应该是给0。89加颜色吧,是java网络编程的内容吗?
不过这个结果确实不清楚为什么
有一定的误差
--------------------
http://www.qinglobo.com/list-27.htm
如果我买3个 价格(还是double)就是3.99999999999999
说精度问题,太含糊了,我给楼主说明下:
假如我我们有10个double变量:
1.0000000000000000 - a (注意a与其他变量不同,它精确到小数点后16位)
1.00000000000000001 - b
1.00000000000000005 - c
1.00000000000000007 - d
1.00000000000000001 - e
1.00000000000000001 - f
1.00000000000000001 - g
1.00000000000000001 - h
1.00000000000000001 - i
1.00000000000000001 - g然后我们现在要任意选几个变量相加 = sum
我们打印的时候,肯定有个精确度,比如是16,你越多数加,精确度就越降低。