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
推荐学习《python教程》
转换示例:
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('%'))/1000.12
对于中文字符的数值字符,可以用unicodedata进行转换。
>>> import unicodedata >>> unicodedata.numeric('三')3.0 >>> unicodedata.numeric('二十一')TypeError: numeric() argument 1 must be a unicode character, not str
既名为unicodedata,所以也应该可以对其它语言的数值进行识别。
备注:报错信息只取了重要的部分。