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

Python中的所有数据类型(包括整数和字符串)都是对象。 通常在编写Python代码时,您需要将一种数据类型转换为另一种数据类型。 例如,要对表示为字符串的数字执行数学运算,需要将其转换为整数。

在本文中,我们将向您展示如何将Python字符串转换为整数。

蟒蛇 int() 功能编号

内建 int() 函数从给定的数字或字符串中返回一个十进制整数对象。 它采用以下形式:

int(x, base=10)

该函数接受两个参数:

  • x -要转换为整数的字符串或数字。
  • base -它代表第一个参数的数字系统。 它的值可以是0和2–36。 此参数是可选的。 如果没有给出基数,则默认值为10(十进制整数)。

通常,整数以十六进制(基数16),十进制(基数10),八进制(基数8)或二进制(基数2)表示。

如果给定的字符串不能表示为整数,则该函数将抛出一个 ValueError 例外。

将Python字符串转换为Integer#

在Python中,“字符串”是使用单('),双(")或三引号(""")。

如果使用引号声明仅包含数字的变量,则其数据类型将设置为String。 考虑以下示例:

days = "23"
type(days)

type() 函数向我们展示了 days 变量是一个 String 目的。

<type 'str'>

让我们尝试对变量进行数学运算:

print(days+5)

Python会抛出一个 TypeError 异常错误,因为它无法使用字符串和整数执行加法计算:

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

将十进制整数的字符串表示形式转换为 int,将字符串传递给 int() 函数,该函数返回一个十进制整数:

days = "23"days_int = int(days)type(days_int)
<type 'int'>

如果现在尝试进行数学运算,则求和运算将成功执行:

print(days_int+5)
28

如果数字中包含逗号(标记成千上万,等等),则需要先删除逗号,然后再将数字传递给 int() 功能:

total = "1,000,000"int(total.replace(",", ""))
1000000

在不同数字系统中转换表示整数的字符串时,请确保使用正确的字符串 base

例如,在十六进制系统中,数字54732表示为 D5CF。 要将其转换为十进制整数,您需要使用基数16:

int("D5CF", 16)
54735

如果您通过了 D5CF 串到 int() 功能没有设置基准,它将抛出一个 ValueError 例外:

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

结论#

在Python中,您可以使用以下命令将字符串转换为整数 int() 功能。

如果您有任何疑问或反馈,请随时发表评论。

蟒蛇

Sidebar