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
解释:
让我们了解一下我们在上面的程序中所做的事情-
- 步骤1是声明我们想要转换的字符串值。
- 在此之后,我们将使用一个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]
说明:
让我们了解一下上面程序中的操作-
- 步骤1是声明我们想要转换的字符串值,这次有一系列不同的十进制值,用逗号分隔。
- 然后,我们将使用列表推导式将每个值转换为所需的类型。
- 在执行程序后,我们可以观察到它显示了所需的值。
将字符串列表转换为浮点数
让我们看一下第四个案例,我们将把字符串列表转换为浮点数,
以下程序说明了相同的操作-
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]
让我们理解一下我们在上面的程序中所做的事情-
- 步骤1是声明一个包含所有字符串值的列表,其元素为字符串
- 在此之后,我们声明了一个空列表,并使用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 ]
说明:
让我们了解一下上面程序中的操作-
- 步骤1是导入numpy库并命名为np。
- 这之后,我们声明了一个包含所有字符串值的数组。
- 完成上述步骤后,下一步是使用astype()函数,并指定其中的float,因为这是我们希望对所有元素应用的功能/特性。
- 执行程序后,我们可以观察到它显示了所需的值。
转换为指定的小数位数
最后,在最后一个程序中,我们将看到如何将字符串转换为指定的小数位数,
以下程序演示了同样的功能-
x='2.88731'
val=float(x)
res="{:.2f}".format(val)
print(res)
输出:
2.89
解释:
让我们了解一下上面的程序中做了什么-
- 步骤1是声明我们想要转换的字符串值。
- 接下来,我们将使用float()并传递变量x。
- 由于我们希望输出保留两位小数,我们将在下一个语句中说明这一点。
- 在执行程序时,我们可以观察到它显示了所需的值。
结论
所以,在本教程中,我们了解了不同的场景并学习了将字符串转换为浮点数的方法。