有一種簡潔的方式來格式化一個數字,有時也可以是一個字符串?格式值可能是數字和/或字符串python 3
該數字通常是一個浮點數,但偶爾也會將其表示爲字符串「n/a」。
我想用固定數量的小數格式化浮點數,但打印整個字符串以防它不是數字。
例如:
var=3.145623
print("This is {0:.2f}".format(var))
>>>This is 3.14
,但
var = "n/a"
print("This is {0:.2f}".format(var))
>>> File "<stdin>", line 1, in <module>
>>> ValueError: Unknown format code 'f' for object of type 'str'
我不由ValueError異常驚訝,但不知道是否在它周圍有一個簡潔的方式,非常不明確的if語句。
這似乎是使用一個明確的'如果-else'是最直接的方法......這是當你處理你的問題混合類型,以及爲什麼你應該儘可能避免它。 –
@ juanpa.arrivillaga:我只是錯過了.format()或其他東西的開關 - 對我來說,這似乎是一個問題,人們可能會頻繁地遇到問題,因此可能有內置的東西。 – Gerhard
請問,爲什麼你有可能得到'float'或'n/a'字符串?看來這是真正的問題。 –