比较形式的数字: 12,3K , 1,84M 在 python.



需要比较数字,看起来像:12,3K,1,84M等例如:

a = 12,3K 
b = 1,84M
if b > a :
    print b 

你需要使用替换:

a = ("12,3K", "1,84M")
numbers = {"K": 1000, "M": 1000000}
result = []
for value in a:
    if value:
        i = value[-1]
        value = float(value[:-1].replace(',', '.')) * numbers[i]
        result.append(int(value))
print max(result)

您可以在字典中添加更多数字,您将获得更多结果。

我会推荐一个函数来将ab转换为相应的数字,如下所示(我也会制作ab字符串:

def convert(num):
    return num.replace(',','').replace('K','000').replace('M','000000')
a = '12,3K'
b = '1,84M'
if convert(b) > convert(a) :
    print b

如果你的值是字符串,那么re模块可以很容易地用 '' 替换逗号,用 3 或 6 个零替换 K 或 M。然后用int()包裹并进行比较。您在哪里/如何获得要比较的值?

相关内容

  • 没有找到相关文章

最新更新