我有一个这样的文件,
...
3.999999000000e-003 1.2344325e-003
4.000000000000e-003 1.2342323e-003
...
我试图找到仅等于 0.004(4.000000000000e-003 长格式)的值,但我不想输入长格式,因为精度可能会因文件而异。我必须事先进行行分割,所以我还必须先将其从字符串转换。
如何在 python 中计算类似 0.004 == 4.000000000000e-003 的值?
我目前一直在尝试类似的东西,但显然它不起作用
line_tmp = line.split()
if float(line_tmp[0]) == 0.004:
print(line_tmp[0])
print(float(line_tmp[0]))
最佳答案
如果您需要比较两个 float ,您应该检查它们之间的差异是否非常小。像这样的东西:
if abs(number1 - number2) < 1e-8:
# Do something
关于python-根据舍入等效值评估大 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9492392/