读书人

c++ 输出有关问题

发布时间: 2013-03-25 15:43:04 作者: rapoo

c++ 输出问题
double a = 123.456789012345;
cout<<setprecision(9);
cout<<a<<endl;

得出的结果是123.456789这个没问题,但代码变成:
double a = 123.456789912345;
cout<<setprecision(9);
cout<<a<<endl;
输出的结果却是123.45679 为会么啊?8哪去了?
[解决办法]
setprecision(int)控制输出流显示浮点数的有效数位(数字个数)
对于double a = 123.456789012345
有效位是 123.456789(0)舍去
对于double a = 123.456789912345
有效位是 123.456789(9)舍入
变成 123.456790
输出 123.45679

读书人网 >C++

热点推荐