字符串转整数

#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

你可能感兴趣的:(字符串转整数)