39

我需要防止我的替身在我的文件中以科学计数法打印,

当我这样做时

outfile << X;
4

4 回答 4

39

setprecision(n)要设置浮动变量的格式,您可以使用showpoint和的组合fixed。为了使用像setprecision(n)你这样的参数化流操纵器,必须包含 iomanip 库:

#include <iomanip>

setprecision(n): 将浮动输出约束到n位置,一旦设置它,它就会被设置,直到您为流输出的其余部分显式取消设置它。

fixed: 将强制所有浮点数以相同的方式输出。因此,如果您的精度设置为 4 位6.2, 和6.20都将输出为:

6.2000
6.2000

showpoint: 将强制显示浮点变量的小数部分,即使它没有明确设置。例如,4将输出为:

4.0

一起使用它们:

outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;
于 2010-02-25T17:28:48.707 回答
7

这是一个使用示例 http://cplus.about.com/od/learning1/ss/clessontwo_4.htm

根据您的问题使用

  std::cout << std::fixed << a << std::endl;
于 2010-02-25T16:43:34.953 回答
6

以上所有答案都很有用,但没有一个直接回答这个问题。

outfile.setf(std::ios_base::fixed);
outfile << x;

我在@moogs 链接中找到了答案:http ://www.cplusplus.com/reference/iostream/ios_base/fmtflags/

这是一个演示程序:http: //ideone.com/FMxRp1

于 2013-10-07T10:17:54.947 回答
2

您可以使用格式标志   

http://en.cppreference.com/w/cpp/io/ios_base/fmtflags

于 2010-02-25T16:33:37.773 回答