我有一个打印为 0.000000
的 double
,我试图将它与 0.0f
进行比较,但没有成功。为什么这里有区别?确定 double 是否为零的最可靠方法是什么?
最佳答案
要确定它是否足够接近零,它会打印为 0.000000
到小数点后六位,例如:
fabs(d) < 0.0000005
不过,处理浮点计算中的小错误通常会变得相当复杂。
如果您想更好地了解您得到的值是多少,请尝试使用 %g
而不是 %f
进行打印。
关于比较 C 中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008649/