为什么转换时会出现不同结果

来源:百度知道 编辑:UC知道 时间:2024/06/19 08:43:32
为什么将C语句写成printf(“%f\n”,(double)n[i])时会输出double型的数字。但是将其转换成cout<<(double)n[i]<<endl;时就不能输出double型的数字。

#include<iomanip>

cout<<setiosflags(ios::fixed)<<setprecision(10)<<(double)n[i]<<endl;

额,cout输出double的时候默认不输出末尾的0,必须显式的。

#include<iomanip>
cout << setprecision(10) << fixed << (double)1 << endl;