Python实现单位(亿、万)转数字

背景

近日遇到一个需求,要将"xx亿xx万""xx亿""xx万"转为数字

本来想着CSDN上肯定有资源,就懒得造轮子,正好找到了一个,链接如下:

python|数值单位(个十百千万亿) 转换成 数字

但是发现竟然是尊贵VIP文章,本着"拒绝哄抬X价,从我做起"的原则,一气之下就花了几分钟写出来

测试样例

valueStrList = ['15亿3710万', '15.04亿', '4762.75万', '771.56']

转化

def str2value(valueStr):
    valueStr = str(valueStr)
    idxOfYi = valueStr.find('亿')
    idxOfWan = valueStr.find('万')
    if idxOfYi != -1 and idxOfWan != -1:
        return int(float(valueStr[:idxOfYi])*1e8 + float(valueStr[idxOfYi+1:idxOfWan])*1e4)
    elif idxOfYi != -1 and idxOfWan == -1:
        return int(float(valueStr[:idxOfYi])*1e8)
    elif idxOfYi == -1 and idxOfWan != -1:
        return int(float(valueStr[idxOfYi+1:idxOfWan])*1e4)
    elif idxOfYi == -1 and idxOfWan == -1:
        return float(valueStr)

测试

def test(valueStrList):
    for valueStr in valueStrList:
        print(str2value(valueStr))

结果

>>> test(valueStrList)
1537100000
1504000000
47627500
771.56

结束语

就这?

就这?

就这?

这也设置VIP?怎么敢的啊?

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值