如何在python中将文本"1m"变为"1000000"

Pev*_*evo 1 python numbers

我有变量的值如1.7m 1.8k和1.2b如何将它们转换为实数值

1.7m = 1700000
1.8k = 1800
1.2b = 1200000000
Run Code Online (Sandbox Code Playgroud)

Vic*_*ler 10

我会定义一个字典:

tens = dict(k=10e3, m=10e6, b=10e9)
Run Code Online (Sandbox Code Playgroud)

然后

x='1.7m'
factor, exp = x[0:-1], x[-1].lower()
ans = int(float(factor) * tens[exp])
Run Code Online (Sandbox Code Playgroud)

  • "有问题"?那毫无意义.你能解释为什么简单的解决方案不起作用吗? (2认同)
  • 老兄不是 python 10e3 == 10000 吗?不应该是 1e3, 1e6 .. 吗? (2认同)