printf浮点值的字符串格式

use*_*803 5 c string printf string-formatting floating-point-conversion

我有一个关于使用printf的问题.

char str[8];
float val = 2.334563;
sprintf(str, format, val);
printf("val = %s.\n", str);

val = -23.34563;
sprintf(str, format, val);
printf("val = %s.\n", str);

val = -0.02334563;
sprintf(str, format, val);
printf("val = %s.\n", str);

val = 233;
sprintf(str, format, val);
printf("val = %s.\n", str);
Run Code Online (Sandbox Code Playgroud)

预期的产出如下:

val = +2.3345
val = -23.345
val = -0.0233
val = +233.00
Run Code Online (Sandbox Code Playgroud)

我需要什么格式字符串?感谢您的关注.

Alo*_*ave 3

老好人怎么了%f

  • @JoeMcGrath:是的,请。我理解你的热情和愿意提供帮助,但我们真的不想把它变成一个**做我的作业**网站。通常,对于Q的作业气味,我们想看看什么OP已经尝试过,他们的努力和想法来解决问题。然后提供微妙的提示/线索,这将为他们提供方向并解锁他们,但也给他们留下足够多的作业要做。作为一个业余程序员,你肯定知道,有努力工作是别无选择的。欢迎来到 SO,再见。祝一切顺利:) (2认同)