读书人

各位端午好请教为什么double输出位数

发布时间: 2013-06-26 14:29:32 作者: rapoo

各位端午好,请问为什么double输出位数完全不对
各位端午节快乐,请看代码:

#include <iostream>
using namespace std;

int main()
{
double a=1.23456789;
cout<<a;
return 0;
}

预期输出:1.23456789
实际输出:1.23457

在调试运行下看a变量的值是1.2345678899999999,可是输出就变得有些离谱。
在VC6.0,VC2005下编译都这样,在下菜鸟一枚,敢问大侠们为什么会这样输出。要怎样才能完整输出1.23456789?谢谢

注:a的值改为1.2345678是一样,输出1.23457
[解决办法]
c++显示浮点数默认精度是6(总位数),用cout.precision(10);就可以显示10位。

读书人网 >C++

热点推荐