介绍
在本文中,我们将使用Python的float()
函数将字符串转换为浮点数。我们还将使用Python的str()
函数将浮点数转换为字符串。
在进行计算和连接之前,正确转换数据类型非常重要,以防止运行时错误的发生。
先决条件
为了完成本教程,您需要:
- 熟悉安装Python 3,并熟悉Python编码。如何在Python 3中编码系列或使用VS Code进行Python编码。
本教程经过Python 3.9.6的测试。
使用float()
函数
我们可以使用Python中的float()
函数将字符串转换为浮点数。这是一个内置函数,用于将对象转换为浮点数。在内部,float()
函数调用指定对象的__float__()
函数。
示例
让我们看一个在Python中将字符串转换为浮点数的示例:
input_1 = '10.5674'
input_1 = float(input_1)
print(type(input_1))
print('Float Value =', input_1)
输出:
<class 'float'>
Float Value = 10.5674
字符串值'10.5674'
已经转换为浮点值10.5674
。
为什么我们需要将字符串转换为浮点数?
如果我们通过终端从用户输入中接收浮点值或从文件中读取浮点值,那么它们都是字符串对象。我们必须显式将它们转换为浮点数,以便可以对它们进行必要的操作,例如加法、乘法等。
input_1 = input('Please enter first floating point value:\n')
input_1 = float(input_1)
input_2 = input('Please enter second floating point value:\n')
input_2 = float(input_2)
print(f'Sum of {input_1} and {input_2} is {input_1+input_2}')
注意:如果您不熟悉使用f前缀进行字符串格式化,请阅读Python中的f-strings。
让我们运行这段代码,并为input_1
和input_2
提供浮点值:
Please enter first floating point value:
10.234
Please enter second floating point value:
2.456
Sum of 10.234 and 2.456 is 12.69
两个数 10.234
和 2.456
的和为 12.69
。
理想情况下,我们应该使用 try-except
块来捕获用户输入无效的异常情况。
使用 str()
函数
我们也可以使用 str()
函数将浮点数转换为字符串。这在我们想要连接浮点数值的情况下可能是必需的。
例子
让我们来看一个例子:
input_1 = 10.23
input_2 = 20.34
input_3 = 30.45
# 使用 Python 3.6+ 的 f-string,老版本可以改用 format()
print(f'Concatenation of {input_1} and {input_2} is {str(input_1) + str(input_2)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{str(input_1)},{str(input_2)},{str(input_3)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{", ".join([str(input_1),str(input_2),str(input_3)])}')
让我们运行这段代码:
Concatenation of 10.23 and 20.34 is 10.2320.34
CSV from 10.23, 20.34 and 30.45:
10.23,20.34,30.45
CSV from 10.23, 20.34 and 30.45:
10.23, 20.34, 30.45
将 10.23
和 20.34
进行连接会产生字符串 '10.2320.34'
。这段代码还会产生两个版本的逗号分隔值 (CSV)。
如果在上述程序中不将浮点数转换为字符串,则 join()
函数将抛出异常。此外,我们也无法使用 +
运算符进行连接,因为它会将浮点数相加。
结论
您可以从我们的GitHub存储库查看完整的Python脚本和更多Python示例。
参考:
Source:
https://www.digitalocean.com/community/tutorials/python-convert-string-to-float