深圳幻海软件技术有限公司 欢迎您!

在 Python 中如何将字符串转换为整数

2023-02-28

 类似于内置的str()方法,Python语言中有一个很好用的int()方法,可以将字符串对象作为参数,并返回一个整数。用法示例: 复制# Here age is a string object age&nbs

 类似于内置的 str() 方法,Python 语言中有一个很好用的 int() 方法,可以将字符串对象作为参数,并返回一个整数。

用法示例:

 

# Here age is a string object 
age = "18" 
print(age) 
 
# Converting a string to an integer 
int_age = int(age) 
print(int_age) 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

 

输出:

 

18 
18 
  • 1.
  • 2.

 

尽管输出结果看起来相似,但是,请注意第一行是字符串对象,而后一行是整数对象。在下一个示例中将进一步说明这一点:

 

age = "18" 
print(age + 2) 
  • 1.
  • 2.

 

输出:

 

Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
TypeError: cannot concatenate 'str' and 'int' objects 
  • 1.
  • 2.
  • 3.

 

通过这个报错,你应该明白,你需要先将 age 对象转换为整数,然后再向其中添加内容。

 

age = "18" 
age_int = int(age) 
print(age_int + 2) 
  • 1.
  • 2.
  • 3.

 

输出:

 

20 
  • 1.

但是,请记住以下特殊情况:

  • 浮点数(带小数部分的整数)作为参数,将返回该浮点数四舍五入后最接近的整数。例如:print(int(7.9)) 的打印结果是 7。另一方面,print(int("7.9")) 将报错,因为不能将作为字符串对象的浮点数转换为整数。

 

Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: '7.9' 
  • 1.
  • 2.
  • 3.

 

  • 单词作为参数时,将返回相同的错误。例如,print(int("one")) 将返回:

 

Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: 'one' 
  • 1.
  • 2.
  • 3.