不使用int()将字符串转换为Int

不使用int()将字符串转换为Int,第1张

不使用int()将字符串转换为Int

参阅

atoi
C语言中的基础知识:

int myAtoi(char *str){    int res = 0; // Initialize result    // Iterate through all characters of input string and update result    for (int i = 0; str[i] != ''; ++i)        res = res*10 + str[i] - '0';    // return result.    return res;}

转换成Python:

def atoi(s):    rtr=0    for c in s:        rtr=rtr*10 + ord(c) - ord('0')    return rtr

测试一下:

>>> atoi('123456789')123456789

如果要容纳可选的符号和空格,可以采用以下方式

int

def atoi(s):    rtr, sign=0, 1    s=s.strip()    if s[0] in '+-':        sc, s=s[0], s[1:]        if sc=='-': sign=-1    for c in s:        rtr=rtr*10 + ord(c) - ord('0')    return sign*rtr

现在添加例外,您就在那里!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5655525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存