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’,它们分别具有字符串和整数值。
我们可以使用 type() 来验证它们的数据类型。
在这里引起疑问的是为什么我们需要将字符串转换为整数。
以下程序说明了同样的问题-
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’并赋予一个字符串值。
- 之后,我们使用 type() 检查其数据类型。
- 为了将字符串转换为整数,我们使用 int() ,然后检查其类型。
- 现在,我们对变量’a’进行操作,将其加上10。
- 最后,结果值会显示在输出中。
方法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’。
- 之后,我们使用 type() 检查了它们的数据类型。
- 为了将字符串转换为整数,我们使用 float() 将字符串转换为浮点数值。
- 在下一步中,我们将’value_b’的字符串值转换为整数。
- 现在,我们已经将’value_a’和’value_b’相加,并打印它们的总和。
- 最后,结果值显示在输出中。
方法3
在最后一个程序中,我们将讨论在Python中将字符串转换为整数的另一种情况。
在这里,我们将看到当一个以字符串值表示的数字在不同的进制时,如何将其转换为十进制。
以下程序说明了这一点-
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中,我们声明了变量的值。
- 由于输出始终为十进制,我们在 int() 内提供了不同的基值。
- 我们在这里取的基值是10、8和6。
- 执行程序后,会显示预期的输出。
结论
在本教程中,我们学习了将字符串转换为整数值的不同方式。