初学c++,遇到以下问题,请高手指教

来源:百度知道 编辑:UC知道 时间:2024/05/29 08:21:51
为什么下面函数在vc++6.0中运行结果为1.23457?怎么样才能把x值完整输出?
#include<iostream.h>
void main()
{
double x=1.23456789;
cout<<x<<endl;
}

可以用setprecision(n)函数设置输出精度,如下:
#include<iostream.h>
#include <iomanip.h>
void main()
{
double x=1.23456789;
cout<<setprecision(9)<<x<<endl;
}

更多输出格式控制总结见下面链接:

http://blog.ednchina.com/fangcao8090/210095/message.aspx

这个不应该使用双精度浮点,你就使用那个float可以的。

cout<<x<<endl; 替换成printf("%.8f", x);

首先你概念弄错了。对于浮点值,没有所有的“完整的值”,只有不同的精度。cout流默认输出是六位精度,你可以试着将cout的输出精度增加到10位,再输出:
double x = 1.23456789;
cout.precision(10);
cout<<x<<endl;