f 字符串格式:显示数字符号?

M. *_*age 12 python string python-3.x f-string

关于 python f 字符串的基本问题,但找不到答案:如何强制浮点数或整数的符号显示?即什么 f 字符串使3显示为+3

Ch3*_*teR 20

来自文档:

选项 意义
'+' 表示正数和负数均应使用符号。
'-' 指示符号只能用于负数(这是默认行为)。

文档中的示例:

>>> '{:+f}; {:+f}'.format(3.14, -3.14)  # show it always
'+3.140000; -3.140000'
>>> '{:-f}; {:-f}'.format(3.14, -3.14)  # show only the minus -- same as '{:f}; {:f}'
'3.140000; -3.140000'
>>> '{:+} {:+}'.format(10, -10)
'+10 -10'
Run Code Online (Sandbox Code Playgroud)

上面使用f-string 的示例:

>>> f'{3.14:+f}; {-3.14:+f}'
'+3.140000; -3.140000'
>>> f'{3.14:-f}; {-3.14:-f}'
'3.140000; -3.140000'
>>> f'{10:+} {-10:+}'
'+10 -10'
Run Code Online (Sandbox Code Playgroud)

0打印为0时需要注意的一点是既不是正值也不是负值。在Python中,+0 = -0 = 0.

>>> f'{0:+} {-0:+}'
'+0 +0'
>>> f'{0.0:+} {-0.0:+}'
'+0.0 -0.0'
Run Code Online (Sandbox Code Playgroud)

0.0-0.0是不同的对象1

在某些计算机硬件有符号数字表示中,零有两种不同的表示,一种是与正数分组的正数,另一种是与负数分组的负数;这种对偶表示形式称为有符号零,后一种形式有时称为负零。


1.Python中的负0。另请查看有符号零 (-0)


小智 5

:+您可以在 f 字符串中使用

number=3
print(f"{number:+}")
Run Code Online (Sandbox Code Playgroud)

输出 +3