Python 字符串转数字

python自带的int函数在值中出现字符串的情况下会出现错误
python>>>int('232d')
Traceback(mostrecentcalllast):
File"",line1,in
ValueError:invalidliteralforint()withbase10:'232d'
而js中parseInt则不会出现类似问题
javascriptvarnum=parseInt('2323d')
num==2323
那么,如何用python实现一个类似js的parseInt函数(尽量不用正则)
下面是我实现的一个,但是有没有更好的方法
pythondefsafe_int(num):
try:
returnint(num)
exceptValueError:
result=[]
forcinnum:
ifnot('0'<=c<='9'):
break
result.append(c)
iflen(result)==0:
return0
returnint(''.join(result))
芜湖不芜
浏览 245回答 2
2回答

30秒到达战场

这样行吗defsafe_int(num):assertisinstance(num,basestring)try:returnint(num)exceptValueError:result="0"forcinnum:ifcnotinstring.digits:breakresult+=creturnint(result)

慕田峪4524236

pythonfromfunctoolsimportreducedefparseInt(s):returnreduce(lambdax,y:x*10+y,map(int,filter(lambdac:c>='0'andc
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript