以下情况适用于Python2.7
1. 执行下面的语句: print type(a) 确定变量a是否类型为字符串。如果是,输出为:<type ‘str’>
2.如果是字符串,执行下面的语句: print repr(a) 确定字符串a是否为Unicode编码。如果是,输出为:u’ .*? ‘ ( .*?代表a字符串的内容)
3.如果字符串a是Unicode跳过3。不是Unicode编码,执行下面语句: Temp = a.decode(“utf-8”) 将Temp转化为a的Unicode格式编码。
4.执行下面语句: port = int(Temp)
5.如果还是失败: print Temp 查看Temp字符串中是否有非数字字符(小数点参见第7条)。
6.删除非数字字符,执行下面语句: port = int(Temp)
7.如果有小数点,执行下面语句: port = float(Temp)
8.其他未知情况 ps: Python中没有double类型 Python2.7字符串还有编码区分,Python3.0好像就统一都是Unicode编码的了(不确定)。