Python - 解析带有自定义价格单位的字符串

标签 python string parsing

在 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/

相关文章:

C题: why is my 20 length string limits itself with 6 chars?

javascript - 将逗号和哈希分隔的字符串转换为数组

javascript - 传递参数(如变量)以在 casperjs 中进行评估并登录站点

ruby - 使用 Ruby 的 p 方法打印字符串时出现额外的转义字符

parsing - 在 Haskell 中正确使用 ReadP

python - Scrapy 不会将数据写入文件

python - 如何在Python中查找列表行和列索引

python - 从累加和中获取原始值

python - 如何在 Django 中创建继承自 AbstractUser 的多个 UserProfiles?

python - 为什么 Python 的 list.append() 方法的时间复杂度是 O(1)?