如何从文本“1m"中进行变量更改?变成“1000000"在蟒蛇
问题描述
我有像 1.7m 1.8k 和 1.2b 这样的变量,例如,我如何将它们转换为实数值
I have variables with values like 1.7m 1.8k and 1.2b how can I convert them to a real number value for example
1.7m = 1700000
1.8k = 1800
1.2b = 1200000000
解决方案
下面是一个使用re
的例子:
Here is an example using re
:
input = '17k, 14.05m, 1.235b'
multipliers = { 'k': 1e3,
'm': 1e6,
'b': 1e9,
}
pattern = r'([0-9.]+)([bkm])'
for number, suffix in re.findall(pattern, input):
number = float(number)
print number * multipliers[suffix]
相关文章