您的位置:

Python 中字符串到整数的转换

在本教程中,我们将学习在 Python 中将字符串转换为整数的方法-

在继续之前,让我们看一个例子-


a='Learning Python is fun'
b= 20
#Displaying the type of a and b
print(type(a))
print(type(b))

输出:

<class 'str'>
<class 'int'>

在上面的例子中,我们分别用一个字符串和一个整数值声明了变量“a”和“b”。

我们可以使用类型()验证它们的数据类型。

这里出现的问题是,为什么我们需要将字符串转换为整数。

下面的程序说明了同样的情况-


value_a = "100"
value_b = "26"
res = value_a * value_b
print("The multiplication of val_a and val_b gives: ",res)

输出:

res = value_a * value_b

TypeError: can't multiply sequence by non-int of type 'str'

由于它会产生这种类型的错误,这就是我们必须将字符串值转换为整数的原因,以便我们可以轻松地继续操作。

是时候看看第一个演示将字符串转换为整数的程序了。


a = '7'
print(type(a))
#using int()
conv_a=int(a)
print(type(conv_a))
conv_a = conv_a+10
print(conv_a)
print(type(conv_a))

输出:

<class 'str'>
<class 'int'>
17
<class 'int'>

说明:

让我们看看上面程序的解释-

  1. 第一步是用字符串值声明变量“a”。
  2. 之后,我们使用类型()检查了它的数据类型。
  3. 为了将字符串转换为整数,我们使用了 int() 然后检查它的类型。
  4. 现在,我们对变量“a”进行了运算,在它上面加了 10。
  5. 最后,结果值显示在输出中。

方法 2

在下一个例子中,我们将采用间接的方法将字符串转换为整数。

下面的程序展示了如何做到这一点


value_a = "100"
value_b = "26"
print(type(value_a))
print(type(value_b))
#converting to float
value_a=float(value_a)
#converting to int
value_b=int(value_b)
res_sum=value_a+value_b
print("The sum of value_a and value_b is ",res_sum)

输出:

<class 'str'>
<class 'str'>
The sum of value_a and value_b is  126.0

说明:

让我们了解我们在上面的程序中做了什么-

  1. 第一步是用字符串值声明两个变量“value_a”和“value_b”。
  2. 之后,我们使用类型()检查了他们的数据类型。
  3. 为了将字符串转换为整数,我们使用了 float() 将字符串转换为 float 值。
  4. 在下一步中,我们将把“value_b”的字符串值转换为整数。
  5. 现在我们已经添加了‘value a’和‘value b’,并打印了它们的总和。
  6. 最后,结果值显示在输出中。

方法 3:

在最后一个程序中,我们将讨论 Python 中将字符串转换为 int 的另一个场景。

在这里,我们将看到当一个数字以不同的基数表示时,如何将它转换为以 10 为基数的字符串值。

下面的程序说明了同样的情况-


num_value = '234'
# printing the value of num_value
print('The value of num_value is :', num_value)
#converting 234 to base 10 assuming it is in base 10
print('The value of num_value from base 10 to base 10 is:', int(num_value))
#converting 234 to base 10 assuming it is in base 8
print('The value of num_value from base 8 to base 10 is :', int(num_value, base=8))
#converting 234 to base 10 assuming it is in base 6
print('The value of num_value base 6 to base 10 is :', int(num_value, base=6))

输出:

The value of num_value is: 234
The value of num_value from base 10 to base 10 is: 234
The value of num_value from base 8 to base 10 is: 156
The value of num_value base 6 to base 10 is: 94

说明:

是时候看一下上面节目的解说了。

  1. 在第一步中,我们已经声明了变量值。
  2. 由于输出总是以 10 为基数,我们在 int()中提供了不同的基础值。
  3. 我们这里取的基础值是 10、8 和 6。
  4. 在执行程序时,会显示预期的输出。

结论

在本教程中,我们学习了将字符串转换为 int 值的不同方法。