我们非常熟悉 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 中将字符串转换为浮点数的不同场景。
- 使用浮点函数
- 用逗号转换字符串
- 转换为浮动列表
- 将字符串列表转换为浮点型
- 使用 NumPy 转换
- 以指定的小数点进行转换
使用浮点函数
让我们看看第一种情况,我们将使用 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]
说明:
让我们了解一下我们在上面的程序中做了什么-
- 第一步是声明我们想要转换的字符串值,这次有一个用逗号分隔的不同十进制值的列表。
- 在此之后,我们将利用列表推导,将每个值转换成所需的类型。
- 在执行程序时,我们可以观察到它显示了所需的值。
将字符串列表转换为浮点数
让我们看看第四种情况,我们将字符串列表转换为 float,
下面的程序说明了同样的情况-
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]
让我们了解一下我们在上面的程序中做了什么-
- 第一步是声明包含所有字符串值的列表作为它的元素
- 在此之后,我们声明了一个空列表,并用于循环,该循环获取每个元素,将其转换为浮点值,并将其追加到 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 中将字符串转换为浮点数的方法。