c printf signed float

12

如何使用printf()函数在C语言中确保在浮点数值前始终显示+或-符号的格式化程序?
我已经有一段时间没有使用C语言了,你能推荐一些好的网络参考资料吗?谢谢。

2个回答

15
在字段宽度、精度说明符或 f 前面加上 % 后跟一个 + 号。例如,使用 "%+10.2f" 来得到一个两位小数和十个字符宽度的字段。
printf(3) 中得知: + 在有符号转换产生的数字前总是放置一个符号(+ 或 -)。默认情况下,只对负数使用符号。如果同时使用 + 和空格,则 + 会覆盖空格。

1
+1:但是为了更清晰,可能需要添加一个例子,例如 printf("x = %+g\n", x); - Paul R

2
"

"%+f"就是你要找的(请注意,当你打印它时,你实际上将打印一个double,而不是float——当传递给没有原型或可变参数的函数时,float会被隐式提升为double)。

"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接