字符串怎么转换成整数 有几种方法怎么实现

2023-12-15 10:29:33 网络知识 悟空

在Python中,可以使用以下几种方法将字符串转换为整数:

使用内置函数int(): int()函数将字符串作为参数,并返回相应的整数值。如果字符串包含非数字字符,则会引发ValueError异常。例如:

s = "123"
num = int(s)
print(type(num), num)  #  123

    使用eval()函数: eval()函数评估字符串并返回结果。它可以执行字符串中的任何有效Python表达式,并返回表达式的结果。例如:

    s = "123"
    num = eval(s)
    print(type(num), num)  #  123
    

    然而,使用eval()函数需要谨慎使用,因为它可以执行任意代码,可能存在安全风险。

      使用位运算符<<: 位运算符<<将一个字符串参数视为二进制,然后返回对应的十进制整数。例如:

      s = "123"
      num = 0
      for digit in s:
          num = (num << 3) + (num << 1) + int(digit)
      print(type(num), num)  #  123
      

      此方法通过将数字字符转换为整数,并将其通过乘以2、4和8来累积,然后加上下一个数字字符的整数值,以创建最终的整数。

      需要注意的是,以上方法都要求字符串是合法的表示整数的形式,否则将引发异常。如果字符串包含除数字字符外的其他字符,需要在转换之前进行处理或者使用适当的异常处理机制。

发表评论: