在 Python 中将字符串转换为浮点值

在编程中,数据存储在变量中,这些变量具有一定的数据类型。这些数据类型包括整数、浮点值、字符串和布尔值。

我们有时会遇到必须将某种数据类型的值转换为另一种数据类型的情况。例如,将 integer 转换为 floatinteger 转换为 longinteger 转换为 booleanstring 转换为 boolean 等。

在本文中,我们将学习如何将字符串值转换为浮点值。

在 Python 中将字符串转换为浮点值

在将字符串转换为浮点值时,我们必须确保字符串代表一个数字。例如,"1""1.0"可以转换为 1.0,但我们不能将"hello""python is amazing"转换为浮点值。

让我们看看如何实际执行转换。请参阅以下 Python 代码。

print(float("1"))
print(float("1.1"))
print(float("0.231"))
print(float("123"))
print(float("0"))
print(float("0.0"))
print(float("+12"))
print(float("10e10"))
print(float("-125"))

输出:

1.0
1.1
0.231
123.0
0.0
0.0
12.0
100000000000.0
-125.0

Python 有一个 float() 函数,可以将字符串转换为浮点值。不仅是字符串,我们还可以使用此内置方法将整数转换为浮点值。

如上所述,我们不能将表示句子或单词的字符串转换为浮点值。在这种情况下,float() 方法将抛出 ValueError 异常。

下面的 Python 代码描述了这一点。

print(float("hello"))

输出:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ValueError: could not convert string to float: 'hello'

如果我们不确定传递给 float() 方法的字符串值,我们可以使用 try 和 except 块来捕获异常并继续程序的执行。请参阅以下代码。

strings = ["1.1", "-123.44", "+33.0000", "hello", "python", "112e34", "0"]

for s in strings:
    try:
        print(float(s))
    except ValueError:
        print("Conversion failed!")

输出:

1.1
-123.44
33.0
Conversion failed!
Conversion failed!
1.12e+36
0.0

正如我们所见,try...except 块帮助我们捕获"hello" 和 "python" 的异常。对于其他元素,该算法可以无缝运行。