在 Python 中将字符串解析为 int 的最快方法是什么?该字符串可能包含自定义单位,例如“k”(千)、“m”(百万)或“b”(十亿)。
例如:
100 -> 100
100k -> 100000
100m -> 100000000
100b -> 100000000000
谢谢。
最佳答案
def convert(val):
lookup = {'k': 1000, 'm': 1000000, 'b': 1000000000}
unit = val[-1]
try:
number = int(val[:-1])
except ValueError:
# do something
if unit in lookup:
return lookup[unit] * number
return int(val)
>>> print convert("100m")
>>> 100000000
创建一个查找表,然后将数字拆分为数字部分和单位。如果单位部分存在,请查看我们的表格并使用它来创建最终数字。否则,返回号码。
关于Python - 解析带有自定义价格单位的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5459256/