使用 << 时防止 ostream 中的科学记数法与双

发布于 2024-08-23 03:42:45 字数 94 浏览 12 评论 0 原文

,我需要防止我的双精度数以科学记数法打印在我的文件中

当我这样做时

outfile << X;

I need to prevent my double to print in scientific notation in my file,

when I do this

outfile << X;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一瞬间的火花 2024-08-30 03:42:45

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

#include <iomanip>

set precision(n):将浮动输出限制为 n 个位置,一旦设置它,它就会被设置,直到您为流输出的其余部分明确取消设置它为止。

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

6.2000
6.2000

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

4.0

一起使用它们:

outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;

To set formatting of floating variables you can use a combination of setprecision(n), showpoint and fixed. In order to use parameterized stream manipulators like setprecision(n) you will have to include the iomanip library:

#include <iomanip>

setprecision(n): will constrain the floating-output to n places, and once you set it, it is set until you explicitly unset it for the remainder of the stream output.

fixed: will enforce that all floating-point numbers are output the same way. So if your precision is set to 4 places, 6.2, and 6.20 will both be output as:

6.2000
6.2000

showpoint: will force the decimal portions of a floating-point variable to be displayed, even if it is not explicitly set. For instance, 4 will be output as:

4.0

Using them all together:

outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;
暗恋未遂 2024-08-30 03:42:45

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

根据您的问题使用

  std::cout << std::fixed << a << std::endl;

Here's an example of usage
http://cplus.about.com/od/learning1/ss/clessontwo_4.htm

as per your question use

  std::cout << std::fixed << a << std::endl;
倾听心声的旋律 2024-08-30 03:42:45

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

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

我在@moogs链接中找到了答案: https://en.cppreference.com /w/cpp/io/ios_base/fmtflags

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

All the above answers were useful, but none directly answer the question.

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

I found the answer in @moogs link: https://en.cppreference.com/w/cpp/io/ios_base/fmtflags

Here's a demo program: http://ideone.com/FMxRp1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文