在正数前添加加号?

15 投票
3 回答
9989 浏览
提问于 2025-04-17 10:03

我正在打印小数,保留小数点后3位数字。我想知道是否可以在正数前面加一个+符号,这样我就能得到

+0.005

表示正的变化,而

-0.005

表示负的变化。这样在printf里面能简单实现吗?

3 个回答

0

在我看来,一个更好的答案应该是...

>>> for number in [-42, 0, 1, +13]:
...     print("%+d" % number if number != 0 else "0")
... 
-42
0
+1
+13
>>> 

或者简单来说...

>>> number = 13
>>> number_str = "%+d" % number if number != 0 else "0"
>>> print(number_str)
+13
>>> 

额外提示:如果你想把一个整数的符号反转...

>>> number = -13
>>> number_str = "%+d" % -number if number != 0 else "0"
>>> print(number_str)
+13
>>>

谢谢!

6

数字有一个 + 的修饰符。比如说,"%+d" 或 "%+f"。

20

没错,只需要在格式说明符中加一个'+'就可以了。

例如:

>>> "{0:+.03f}".format(1.23456)
'+1.235'

撰写回答