【发布时间】:2015-07-28 08:47:02
【问题描述】:
使用带有浮点坐标的 3D 矢量进行计算。有时,我想检查一个向量是否非零。但是,对于浮点数,总是有可能出现舍入错误。
请问,在 Python 中是否有标准方法来检查浮点数是否足够接近零?我可以写abs(x) < 0.00001,但在一般情况下让我烦恼的是硬编码的截止点...
【问题讨论】:
-
sys.float_info.epsilon -
@Seva Alekseyev 这真的取决于你在做什么,我不相信有一个通用的解决方案。诸如“C 中的数值食谱”之类的书讨论了每个算法的精度 ad-hoc。我特别是。不同意上面的这些
sys.float_info.epsiloncmets。他们讨论的是绝对系统限制,而不是您的特定计算的限制。