1. 程式人生 > >文字處理【1.1.1】-判斷字串型別並返回相應型別

文字處理【1.1.1】-判斷字串型別並返回相應型別

def formats(st):
    if '.' in st or 'e' in st or 'E' in st:
        try:
            return float(st)
        except:
            return st
    else:
        try:
            return int(st)
        except:
            return st           
         
a1 = formats('1')
a2 = formats('3.4')
a3 = formats('1.03E+08')
a4 = formats('wujiadong')
print('a1:',a1,type(a1))
print('a2:',a2,type(a2))
print('a3:',a3,type(a3))
print('a4:',a4,type(a4))

執行結果如下:
a1: 1 <class 'int'>
a2: 3.4 <class 'float'>
a3: 103000000.0 <class 'float'>
a4: wujiadong <class 'str'>