关于python f字符串的基本问题,但找不到答案:如何强制浮点数或整数的符号显示?例如,什么f字符串使3显示为+3?
3
+3
xqk2d5yq1#
来自文档:
| 选项|意义|| - ------|- ------||一月一日|表示应将符号用于正数和负数。|| '-'|指示符号应仅用于负数(这是默认行为)。|文档示例:
'-'
>>> '{:+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'
以上使用f字符串的示例:
>>> 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'
当把0打印为0时需要注意的是,它既不是正数也不是负数,在python中,+0 = -0 = 0。
0
+0 = -0 = 0
>>> f'{0:+} {-0:+}' '+0 +0' >>> f'{0.0:+} {-0.0:+}' '+0.0 -0.0'
0.0和-0.0是不同的对象1。
0.0
-0.0
在某些计算机硬件signed number representations中,zero有两种不同的表示,正的表示与正数分组,负的表示与负数分组;这种对偶表示被称为带符号零,后一种形式有时被称为负零。
0sgqnhkj2#
可以在f字符串中使用:+
:+
number=3 print(f"{number:+}")
输出+3
w46czmvw3#
可以使用f"{x:+}"添加带有f字符串的符号,其中x是需要添加符号的int/float变量。有关语法的详细信息,可以参考文档。
f"{x:+}"
x
bvk5enib4#
最快解决方案:f"{['', '+'][number>0]}{number}"
f"{['', '+'][number>0]}{number}"
numbers = [+3, -3] for number in numbers: print(f"{['', '+'][number>0]}{number}")
结果:
+3 -3
编辑:短时间分析:
import time numbers = [+3, -3] * 1000000 t0 = time.perf_counter() [print(f"{number:+}", end="") for number in numbers] t1 = time.perf_counter() [print(f"{number:+.2f}", end="") for number in numbers] t2 = time.perf_counter() [print(f"{['', '+'][number>0]}{number}", end="") for number in numbers] t3 = time.perf_counter() print("\n" * 50) print("""number:+ : """ + str(round(t1-t0, 2)) + "s") print("""number:+.2f : """ + str(round(t2-t1, 2)) + "s") print("""['', '+'][number>0] : """ + str(round(t3-t2, 2)) + "s")
number:+ : 1.43s number:+.2f : 1.98s ['', '+'][number>0] : 1.23s
看来我解整数最快了。
hlswsv355#
如果x〉0,则使用if语句:..“”否则:。
5条答案
按热度按时间xqk2d5yq1#
来自文档:
| 选项|意义|
| - ------|- ------|
|一月一日|表示应将符号用于正数和负数。|
|
'-'
|指示符号应仅用于负数(这是默认行为)。|文档示例:
以上使用f字符串的示例:
当把
0
打印为0时需要注意的是,它既不是正数也不是负数,在python中,+0 = -0 = 0
。0.0
和-0.0
是不同的对象1。在某些计算机硬件signed number representations中,zero有两种不同的表示,正的表示与正数分组,负的表示与负数分组;这种对偶表示被称为带符号零,后一种形式有时被称为负零。
0sgqnhkj2#
可以在f字符串中使用
:+
输出
+3
w46czmvw3#
可以使用
f"{x:+}"
添加带有f字符串的符号,其中x
是需要添加符号的int/float变量。有关语法的详细信息,可以参考文档。bvk5enib4#
最快解决方案:
f"{['', '+'][number>0]}{number}"
结果:
编辑:短时间分析:
结果:
看来我解整数最快了。
hlswsv355#
如果x〉0,则使用if语句:..“”否则:。