以下情況適用於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條)。
7.如果有小數點,執行下面語句:
port = float(Temp)
8.其他未知情況
ps:
Python中沒有double型別
Python2.7字串還有編碼區分,Python3.0好像就統一都是Unicode編碼的了(不確定)。
以下情況適用於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條)。
port = int(Temp)
7.如果有小數點,執行下面語句:
port = float(Temp)
8.其他未知情況
ps:
Python中沒有double型別
Python2.7字串還有編碼區分,Python3.0好像就統一都是Unicode編碼的了(不確定)。