C++中float,double到底保留几位有效数字

int ival = 3;
float fval = 1.32121212f;
double dval = -45.67456554;
double dval2 = -4.456511111111111;
cout << ival << endl;
cout << fval << endl;
cout << dval << endl;
cout << dval2 << endl;

输出的结果是:
3
1.32121
-45.6746
-4.45651

疑问:为什么运行结果是double和float都显示6位有效数字,我记得double有十多位的啊。。

第1个回答  2013-08-18
第2个回答  2013-08-19
这个应该跟编译环境有关追问

谢谢