gpt4 book ai didi

c - 浮点到字符串表示

转载 作者:行者123 更新时间:2023-11-30 20:56:31 25 4
gpt4 key购买 nike

考虑以下代码片段:

char str[1000];
float b ;
b= 0.0615;
sprintf( &(str[0]), "%1.0e", b);

执行最后一条语句后,我期望的是 str包含6.15e-2 。但是,我得到的值为 5e-315 .

我哪里出错了。如何得到期望值?

最佳答案

使用该格式字符串无法获得两位数精度,因为您在逗号后仅指定了一位数(即 1 之后的 .0 部分)。

对我有用的是

#include <stdio.h>
#include <string.h>

main() {
char str[1000];
float b ;
b= 0.0615;
sprintf( &(str[0]), "%.2e", b);
puts(str);
}

打印6.15e-02

almighty C/C++ documentation说:

.number:

For a, A, e, E, f and F specifiers: this is the number of digits to be printed after the decimal point (by default, this is 6).

关于c - 浮点到字符串表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24382089/

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