#encoding=utf-8
class Solution(object):
def myAtoi(self,str):
'''
实现字符串转整数
:param str: str
:return: int
'''
import re
#字符串中查找全部符合条件的整数,返回的是列表,第一个参数是正则,第二个是字符串
aim = re.findall(r'^[-+]?\d+',str.strip())#str.strip()去左右空格,返回的是list
if aim:
str_temp2 = ''
str_temp = aim[0]#哪怕aim里只有一个元素,也要这样取值赋值给str_temp
if str_temp[0]=="-" or str_temp[0]=="+":
str_temp2 = str_temp[1:]
else:
str_temp2 = str_temp
ret_int = int(str_temp2)
if str_temp[0]=="-":
#三目运算,判断是否溢出
#如果ret_int<=2**31则返回-2**31
return -ret_int if ret_int<=2**31 else -2**31
else:
return ret_int if ret_int<2**31 else 2**31-1
else:
return 0
if __name__=="__main__":
s = Solution()
atoiResult = s.myAtoi("-89")
print atoiResult
print type(atoiResult)
image.png
网友评论