面试题-string转int

一、判断正负符号

二、逐字转值(是否为数字,ascii码转值)

三、越界判断


import sys
max_int = sys.maxsize
num_tuple = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')

def _int(input_string):

total_num = 0
is_minus = False
string = input_string.strip()
if string.startswith('-'):

is_minus = True
string = string[1:]

for s in string:

if s not in num_tuple:

print("input error")
return 0

num = ord(s) - ord('0')
total_num = total_num * 10 + num
if total_num > max_int:

total_num = max_int
break

return total_num * -1 if is_minus else total_num

3

发表评论

电子邮件地址不会被公开。 必填项已用*标注

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

面试题-string转int
嘿!有什么能帮到您的吗?
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close