python的数值可以转换为字符串_Python 字符串转换为数值

int

只能把整数字符串转换转换成整数

另外可用于取出float的整数部分

可以用float进行转换

测试用例:

>>> s1='123'

>>> s2='1.23'

>>> s3=''

>>> s4=None

>>> int(s1)

123

>>> int(s2)

ValueError

>>> int(s3)

ValueError

>>> int(s4)

TypeError

>>> float(s1)

123.0

>>> float(s2)

1.23

>>> float(s3)

ValueError

>>> float(s4)

TypeError

顺便一提,float可以转换可以转换科学技术法的数值:

>>> float('1e3')

1000.0

转换示例:

def str_to_float( s):

"""字符串转换为float"""

if s is None:

return 0.0

try:

return float(s)

except Exception:

return 0.0

对于带百分号的数值字符串处理方法

>>> s='12%'

>>> float(s.rstrip('%'))/100

0.12

对于中文字符的数值字符,可以用unicodedata进行转换。

>>> import unicodedata

>>> unicodedata.numeric('三')

3.0

>>> unicodedata.numeric('二十一')

TypeError: numeric() argument 1 must be a unicode character, not str

既名为unicodedata,所以也应该可以对其它语言的数值进行识别。

备注:报错信息只取了重要的部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值