float类型只能够表示数字中的前6位或者前7位。
#include <iostream>
using namespace std;
int main()
{
float a = 2.3400001E+7f;
float b = a + 1.0f;
cout.setf(ios::fixed);
cout << "a = " << a <<endl;
cout << "b = " << b <<endl;
cout << "b - a = " << b -a << endl;
return 0;
}
输出结果:
a = 23400000.000000
b = 23400000.000000
b - a = 0.000000