有一种简洁的方式来格式化一个数字,有时也可以是一个字符串?格式值可能是数字和/或字符串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'字符串?看来这是真正的问题。 –