我试图格式化还剩前导零和符号浮点数,但不能找到一种方法,运营商结合起来:蟒蛇格式,并签署
我需要这样的:
-153.3 --> -00000153.30
我使用这个表达式:
"{value:0>+{width}.{precision}f}".format(value=float(-153.3), width=12, precision=2)
但我发现了这一点: 00000-153.30
找不到正确的方法来放置“+”运算符,任何人都可以帮忙吗?
谢谢
我试图格式化还剩前导零和符号浮点数,但不能找到一种方法,运营商结合起来:蟒蛇格式,并签署
我需要这样的:
-153.3 --> -00000153.30
我使用这个表达式:
"{value:0>+{width}.{precision}f}".format(value=float(-153.3), width=12, precision=2)
但我发现了这一点: 00000-153.30
找不到正确的方法来放置“+”运算符,任何人都可以帮忙吗?
谢谢
Got it!
仔细阅读doc我应该做的!
"{value:+0{width}.{precision}f}".format(value=float(-153.3), width=12, precision=2)
-153.3 - > 00000153.30
如果最终数字字符串应该总是无符号的,为什么不使用abs()
功能:
val=-153.3
print("{value:0>{width}.{precision}f}".format(value=abs(val), width=11, precision=2))
输出:
00000153.30
对不起,预期的输出必须包括唱歌,我有一个错误的问题。 – kothvandir
>>> a = -153.3
>>> str(a).zfill(10)
'-0000153.3'
如果你要打印的积极迹象,以及,一个解决办法是:
>>> a = +153.3
>>> '{0:+}'.format(a).zfill(10)
'+0000153.3'
后者也适用于负号。
抱歉,除了精度和长度必须设置为变量外,预期的输出必须包含单数。 – kothvandir
@ kothvandir:你在找什么像'width = 12; '{:+。{precision} f}'。format(-153.3,precision = 2).zfill(width)'? – unutbu
只需创建一个处理精度和witdh的lambda – joaquinn
对不起,你是对的,在这个问题上得到了一个错字。 – kothvandir