您的位置:

在 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 中将字符串转换为浮点数的不同场景。

  1. 使用浮点函数
  2. 用逗号转换字符串
  3. 转换为浮动列表
  4. 将字符串列表转换为浮点型
  5. 使用 NumPy 转换
  6. 以指定的小数点进行转换

使用浮点函数

让我们看看第一种情况,我们将使用 float 函数,

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


x = '2.71'
res = float(x)
print("The float value is ",res)

输出:

The float value is 2.71

说明:

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

  1. 第一步是声明我们想要转换的字符串值。
  2. 之后,我们将使用 float(),然后在其中传递保存字符串值的变量。
  3. 在执行程序时,我们可以观察到它显示了所需的值。

用逗号转换字符串

让我们看看第二种情况,我们将使用逗号转换字符串,

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


x = '27,.71'
res = float(x.replace(',', ''))
print("The float value is ",res)

输出:

The float value is 2.71

说明:

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

  1. 第一步是声明我们想要转换的字符串值,这一次小数点前有一个逗号。
  2. 之后,我们将在 float()中使用 replace()方法,在该方法中,我们将指定我们想要替换的值以及它将被替换的内容。
  3. 在执行程序时,我们可以观察到它显示了所需的值。

转换为浮动列表

让我们看看第三种情况,我们将字符串转换为浮点列表,

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


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. 第一步是声明我们想要转换的字符串值,这次有一个用逗号分隔的不同十进制值的列表。
  2. 在此之后,我们将利用列表推导,将每个值转换成所需的类型。
  3. 在执行程序时,我们可以观察到它显示了所需的值。

将字符串列表转换为浮点数

让我们看看第四种情况,我们将字符串列表转换为 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] 

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

  1. 第一步是声明包含所有字符串值的列表作为它的元素
  2. 在此之后,我们声明了一个空列表,并用于循环,该循环获取每个元素,将其转换为浮点值,并将其追加到 res 中。
  3. 在执行程序时,我们可以观察到它显示了所需的值。

使用 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。
  2. 之后,我们已经声明了包含所有字符串值的数组。
  3. 完成后,下一步是使用 astype()并在其中指定 float,因为这是我们希望应用于所有元素的功能/特性。
  4. 在执行程序时,我们可以观察到它显示了所需的值。

以指定的小数点进行转换

最后,在最后一个程序中,我们将看到如何将字符串转换为指定的小数点,

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


x='2.88731'
val=float(x)
res="{:.2f}".format(val)
print(res)

输出:

2.89

说明:

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

  1. 第一步是声明我们想要转换的字符串值。
  2. 之后,我们将使用 float()并传递变量 x。
  3. 由于我们希望我们的输出有两位小数,我们将在下一个语句中提到这一点。
  4. 在执行程序时,我们可以观察到它显示了所需的值。

结论

因此,在本教程中,我们了解了不同的场景,并学习了在 Python 中将字符串转换为浮点数的方法。