double 加法问题
double re,left=1.1,right=1.2;
re=left+right;
结果为什么是:2.2999999999999998?
[解决办法]
正常的,字长有限
[解决办法]
这样的结果会错吗?放心,不会的
0.999999999999与1基本没差别的,运算的时候不用考虑这些问题
[解决办法]
CString::Format不是可以实现吗?
[解决办法]
我去零,可以Format之后再去嘛。
[解决办法]
可以使用整数啊,或所谓定点数,你指定小数点在第几位即可。
[解决办法]
是这值又没什么错误,搞不清楚LZ到底要干嘛。
[解决办法]
LZ还不清楚什么是浮点数。
[解决办法]
float f = 4;
printf( "%.1f\n ", f);
printf( "%.2f\n ", f);
result:
4.0
4.00