zjr1986 发表于 2008-4-18 12:18

初学者请教各位高手`~~

#include<iostream.h>
void main(){
    float x=0.1f;
        float y=2.1f;
        x-=0.09f;
        y-=2.09f;
        cout<<x-y<<endl;
}
为什么结果不为0,,而是  7.45058e-009;我刚开始学 搞不懂这些数值类型的 头疼啊   各位高手帮帮我啊  谢谢`~

sunkaidong 发表于 2008-4-18 12:21

float类型的数据就是这样..如你这样float i=1.1 和float n=3.3 而n/i!=3

zjr1986 发表于 2008-4-18 12:34

那怎么才能得到正确的值呢?

yeyuanzhi 发表于 2008-4-19 09:20

计算误差很正常,改用double能好些。

页: [1]

编程论坛