python 把字符串转换成整数

'''
题目描述
将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,
但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。
数值为0或者字符串不是一个合法的数值则返回0。
'''
# -*- coding:utf-8 -*-
class Solution:
    def StrToInt(self, s):
        # write code here
        if s=='':
            return 0
        valid={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
        flag=True
        if s[0]=='-':
            flag=False
            s=s[1:]
        elif s[0]=='+':
            s=s[1:]
        elif  s[0] not in valid:
            return 0
        number=0
        for i,c in enumerate(s):
            if c in valid:
                number+=valid[c]*10**(len(s)-i-1)
            else:
                return 0
        if flag:
            return number
        else:
            return -number

if __name__=='__main__':
    print(Solution().StrToInt('+15262'))

猜你喜欢

转载自blog.csdn.net/WYXHAHAHA123/article/details/89301507