我試圖格式化還剩前導零和符號浮點數,但不能找到一種方法,運營商結合起來:蟒蛇格式,並簽署
我需要這樣的:
-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