背景
近日遇到一个需求,要将"xx亿xx万"
、"xx亿"
、"xx万"
转为数字
本来想着CSDN上肯定有资源,就懒得造轮子,正好找到了一个,链接如下:
但是发现竟然是尊贵的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?怎么敢的啊?