python int 仿php的intval
import time def str2int(s): try: return int(s) except: if('-'==s[0]): return 0 - str2int(s[1:]) elif s[0] in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']: num = 0 for i in range(len(s) ): if s[i] in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']: num = num * 10 + int(s[i]) else: return num else: return 0 #print(str2int('')) def str2int2(s): try: return int(s) except: if len(s) == 0: return 0 if('-'==s[0]): return 0 - str2int(s[1:]) else: num='' for i in s: if i in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']: num += i else: break return int(num) # print(int('')) print(str2int('-343sxxx')) time1=time.time() for i in range(0,100000): str2int('112311312ssdx311231231231ssdx') time2 =time.time() print(time2-time1) print(str2int2('-343sxxx')) time1=time.time() for i in range(0,100000): str2int2('112311312ssdx311231231231ssdx') time2 =time.time() print(time2-time1)
######方法2,效率好一些。
-343
0.7150411605834961
-343
0.43802499771118164

浙公网安备 33010602011771号