Python中将字符串转化为整数的函数

500次阅读
没有评论
Python中将字符串转化为整数的函数

大家好,我是一名程序员,在编程领域里,我们经常需要将字符串转化为整数类型,这时候就需要使用Python中的函数。今天我就来和大家分享一下Python中将字符串转化为整数的函数。

Python内置函数int

Python中内置了一个可以将字符串转化为整数的函数int,它可以将一个字符串转化为整数类型。

例如:

str_num = "123"
int_num = int(str_num)
print(int_num)

输出结果为:123

在使用int函数进行类型转化时,需要注意以下几点:

  • 字符串中必须只包含数字或正负号
  • 字符串开头和结尾可以包含空格
  • 如果字符串中包含正负号,则转化出的整数类型也会带上正负号

接下来,我将使用代码示例来解释以上几点。

示例1:字符串中包含非数字字符

当字符串中包含非数字字符时,使用int函数进行类型转化会抛出ValueError异常。

str_num = "111a"
int_num = int(str_num)

输出结果为:ValueError: invalid literal for int() with base 10: ‘111a’

示例2:字符串开头和结尾包含空格

当字符串开头和结尾包含空格时,使用int函数进行类型转化也是可以成功的。

str_num = "  123  "
int_num = int(str_num)
print(int_num)

输出结果为:123

示例3:字符串中包含正负号

当字符串中包含正负号时,使用int函数进行类型转化同样会带上正负号。

str_num1 = "+111"
int_num1 = int(str_num1)
print(int_num1)
str_num2 = "-222"
int_num2 = int(str_num2)
print(int_num2)

输出结果为:

111
-222

自定义函数

除了使用Python内置的int函数进行类型转化外,我们还可以自己编写一个函数来实现将字符串转化为整数的功能。

例如:

def str_to_int(str_num):
    if not str_num:
        return 0
    num = 0
    sign = 1
    if str_num[0] == '-':
        sign = -1
        str_num = str_num[1:]
    elif str_num[0] == '+':
        sign = 1
        str_num = str_num[1:]
    for c in str_num:
        if c >= '0' and c <= '9':
            num = num * 10 + ord(c) - ord('0')
        else:
            break
    return sign * num
    
str_num = "-123"
int_num = str_to_int(str_num)
print(int_num)

输出结果为:-123

自定义函数中,我们需要注意以下几点:

  • 开头可以是正负号
  • 字符串中必须只包含数字或正负号
  • 如果字符串中包含正负号,则转化出的整数类型也会带上正负号

以上就是Python中将字符串转化为整数的两种方法,大家可以根据自己的需求来选择使用哪一种。

希望这篇文章对大家有所帮助。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:[db:作者]2023-11-21发表,共计1231字。
新手QQ群:570568346,欢迎进群讨论 Python51学习