如何从文本“1m"中进行变量更改?变成“1000000"在蟒蛇

2022-01-17 00:00:00 python numbers

问题描述

我有像 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]

相关文章