gpt4 book ai didi

c++ - 用于打印 0.0、1.0、0.025 的 C/C++ 单一格式说明符

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:00 25 4
gpt4 key购买 nike

什么单一格式字符串可以用来打印 0.0, 1.0, 0.025 ?例如:

float vals[3] = { 0.0f, 1f, 0.025f };

for(int i=0; i < 3; i++)
printf("%g\n", vals[i]);

期望的输出:

0.0
1.0
0.025

而是得到:

0
1
0.025

尝试了各种宽度说明符和 %f 与 %g 但无法得到我想要的。

如果有一个 c++ 替代方案就好了。

最佳答案

您可以使用 setprecision(int n),其中 n 是要输出的小数位数。除非您使用固定符号,否则不会显示任何尾随零

#include <iostream>
#include <iomanip>

float vals[3] = { 0.0f, 1.0f, 0.025f };
std::cout << setprecision(5);
for(int i=0; i < 3; i++)
std::cout << vals[i];

输出

0.0
1.0
0.025

更改以下固定符号

cout << setprecision(5) << fixed;

输出

0.00000
1.00000
0.02500

编辑:还有科学计数法,你可以弄清楚它的作用。 setprecision() ---> std::setprecision()

关于c++ - 用于打印 0.0、1.0、0.025 的 C/C++ 单一格式说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10508691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com