我有一个简单的程序:
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
double i=0.000006;
printf("%lf\n",i);
cout <<i<<endl;
return 0;
}
其输出为:
pearl.236> ./a.out
0.000006
6e-06
pearl.237>
如何使用cout
来实现0.000006?
我遇到的实际问题是我将此双重重定向到字符串流,然后我将它打印在屏幕上。我想知道如何在字符串流中存储实际双重表示。
答案 0 :(得分:3)
在manipulators的帮助下实现了流格式化。
指定标准和科学记数法的操纵者是fixed
和scientific
。
cout << fixed <<i<<endl;
答案 1 :(得分:1)
尝试使用std::fixed
std::cout << std::fixed << i << "\n";