我正在阅读一个带有浮点数的文本文件,所有这些都带有 1 或 2 个小数点。我float()
用来将一行转换为浮点数,ValueError
如果失败则提高 a 。我将所有浮点数存储在一个列表中。打印出来时,我想将其打印为小数点后 2 位的浮点数。
假设我有一个带有数字 -3,65, 9,17, 1 的文本文件。我阅读了每个文件,一旦将它们转换为浮点数并将它们附加到列表中。现在在 Python 2 中,调用float(-3.65)
返回-3.65
. 然而,在 Python 3 中,float(-3.65) returns
-3.6499999999999999` 会失去其精度。
我想打印浮点数列表,[-3.6499999999999999, 9.1699999999999999, 1.0]
只有 2 个小数点。做一些事情'%.1f' % round(n, 1)
会返回一个字符串。如何返回浮点数的所有两个小数点的列表,而不是字符串?到目前为止,我使用四舍五入,[round(num, 2) for num in list]
但需要设置小数点/精度而不是round()
.