
python中的int函数
只能把整数字符串转换转换成整数
另外可用于取出float的整数部分
可以用float进行转换
测试用例:
1 2 3 4 5 6 7 8 9 10 11 12 | >>> 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可以转换可以转换科学技术法的数值:
推荐学习《python教程》
转换示例:
1 2 3 4 5 6 7 8 | def str_to_float( s):
"""字符串转换为float"""
if s is None:
return 0.0
try:
return float(s)
except Exception:
return 0.0
|
对于带百分号的数值字符串处理方法
1 2 | >>> s='12%'
>>> float(s.rstrip('%'))/1000.12
|
对于中文字符的数值字符,可以用unicodedata进行转换。
1 2 3 | >>> import unicodedata
>>> unicodedata.numeric('三')3.0
>>> unicodedata.numeric('二十一')TypeError: numeric() argument 1 must be a unicode character, not str
|
既名为unicodedata,所以也应该可以对其它语言的数值进行识别。
备注:报错信息只取了重要的部分。