与其使用epsilon进行浮点数比较,还不如将两个浮点数舍入到所需的精度,从而可靠地比较它们的等价性?
例如:
round($float, 3) === round($otherFloat, 3)
No。如果你的数字刚好在值的两侧,函数将向上而不是向下舍入(如果你四舍五入到最接近的整数,则为半整数),那么它们将四舍五入到不同的数字,无论它们多么接近。
与其使用epsilon进行浮点数比较,还不如将两个浮点数舍入到所需的精度,从而可靠地比较它们的等价性?
例如:
round($float, 3) === round($otherFloat, 3)
No。如果你的数字刚好在值的两侧,函数将向上而不是向下舍入(如果你四舍五入到最接近的整数,则为半整数),那么它们将四舍五入到不同的数字,无论它们多么接近。