读书人

double加法精确度有关问题

发布时间: 2012-03-17 19:06:28 作者: rapoo

double加法精确度问题
#include <iostream.h>
void main()
{
cout < <165987.623+1100000 < <endl;

}
输出结果为:1.26599e+006
我想得到1265987.623这样不用科学计数法表示的精确结果(不是要6个有效数字,而是要全部数字),怎么实现?
是要重写运算符,还是vc++提供有函数实现,或者有其他方法实现?

[解决办法]
#include <iostream>
using namespace std;
void main()
{
cout < <fixed < <165987.623+1100000 < <endl;

}
如果要3位小数:
#include <iostream>
#include <iomanip>

using namespace std;
void main()
{
cout < <fixed < <setprecision(3) < <165987.623+1100000 < <endl;

}
[解决办法]
改#include <fstream.h> 为#include <fstream>

读书人网 >C++

热点推荐