Python教程-在Python中将字符串转换为浮点数
我们都很熟悉Python中的数据类型以及可以在它们上执行的不同操作。
我们知道:
字符串是一系列字符,用单引号''表示。它们是不可变的,这意味着一旦声明,它们就无法更改。
浮点数值不过是十进制值。
我们可以使用下面的程序来检查类型-
x = 2.71
# printing the type of x
print(type(x))
y = 'Moscow'
#printing the type of y
print(type(y))
输出:
<class 'float'>
<class 'str'>
在本教程中,我们将讨论在Python中将字符串转换为浮点数的不同情况。
- 使用float函数
- 转换带有逗号的字符串
- 转换为浮点数列表
- 将字符串列表转换为浮点数
- 使用NumPy进行转换
- 转换为指定的小数位数
使用Float函数
让我们首先看看第一种情况,我们将使用float函数,
以下程序演示了相同的情况-
x = '2.71'
res = float(x)
print("The float value is ",res)
输出:
The float value is 2.71
解释:
让我们了解一下上面程序中做了什么-
- 第一步是声明我们想要转换的字符串值。
- 然后,我们将使用float(),并传递包含字符串值的变量。
- 执行程序后,我们可以观察到它显示所需的值。
转换带有逗号的字符串
让我们看看第二种情况,我们将转换带有逗号的字符串,
以下程序演示了相同的情况-
x = '27,.71'
res = float(x.replace(',', ''))
print("The float value is ",res)
输出:
The float value is 2.71
解释:
让我们了解一下上面程序中做了什么-
- 第一步是声明我们想要转换的字符串值,这次在小数点之前有一个逗号。
- 然后,我们将在float()内使用replace(),在其中我们将指定要替换的值以及要替换为什么值。
- 执行程序后,我们可以观察到它显示所需的值。
转换为浮点数列表
让我们看看第三种情况,我们将字符串转换为浮点数列表,
以下程序演示了相同的情况-
x='1.21, 2.34, 3.42, 9.22, 5.43'
res=[float(i) for i in x.split(', ')]
print("The list having float values: "+str(res))
输出:
The list having float values: [ 1.21, 2.34, 3.42, 9.22, 5.43]
解释:
让我们了解一下上面程序中做了什么-
- 第一步是声明我们想要转换的字符串值,这次有一个包含不同小数值的列表,用逗号分隔。
- 然后,我们将使用列表推导式,它将获取每个值并将其转换为所需的类型。
- 执行程序后,我们可以观察到它显示所需的值。
将字符串列表转换为浮点数
让我们看看第四种情况,我们将将字符串列表转换为浮点数,
以下程序演示了相同的情况-
x=['1.21', '2.34', '3.42', '9.22', '5.43']
res=[]
for i in x:
res.append(float(i))
print('The list having float values:',res)
输出:
The list having float values: [ 1.21,2.34,3.42,9.22,5.43]
让我们了解一下上面程序中做了什么-
- 第一步是声明包含所有字符串值的列表
- 然后,我们声明了一个空列表,并使用for循环,它会取每个元素,将其转换为浮点数值,并将其附加到res中。
- 执行程序后,我们可以观察到它显示所需的值。
使用NumPy进行转换
让我们看看第五种情况,我们将使用numpy进行字符串转换,
以下程序演示了相同的情况-
import numpy as np
x=np.array(['1.21', '2.34', '3.42', '9.22', '5.43'])
res=x.astype(float)
print('The list having float values:',res)
输出:
The list having float values: [1.21 2.34 3.42 9.22 5.43 ]
解释:
让我们了解一下上面程序中做了什么-
- 第一步是导入numpy库并将其命名为np。
- 然后,我们声明了包含所有字符串值的数组。
- 完成这些步骤后,下一步是使用astype(),并在其中指定float,因为这是我们希望应用于所有元素的功能/特性。
- 执行程序后,我们可以观察到它显示所需的值。
转换为指定的小数位数
最后,在最后一个程序中,我们将看到如何将字符串转换为指定的小数位数,
以下程序演示了相同的情况-
x='2.88731'
val=float(x)
res="{:.2f}".format(val)
print(res)
输出:
2.89
解释:
让我们了解一下上面程序中做了什么-
- 第一步是声明我们想要转换的字符串值。
- 然后,我们将使用float(),并传递变量x。
- 由于我们希望输出包含两位小数,因此我们将在下一语句中指定这一点。
- 执行程序后,我们可以观察到它显示所需的值。
结论
因此,在本教程中,我们了解了不同的情况,并学习了在Python中将字符串转换为浮点数的方法。