JavaScript 数字近似

JavaScript number approximation

本文关键字:数字 JavaScript      更新时间:2023-09-26

我使用了函数:

fixedTo(1) 

近似如下数字:

-3.43321e-11

但问题是近似的结果是:

-0.0

带减号。

这是一个问题,因为在数学中不存在带减号的 0,如果我这样做:

if(-0.0 === 0.0){}

它返回我假而不是真。我该如何解决?

这是比较浮点值时的常见问题。浮点值几乎从来都不像你写的那样。所以你的 -0.0 实际上更像是 -0.000001 或其他什么。

如果要比较浮点值,则必须处理一定数量的误差,如下所示:

if(Math.abs(value1 - value2) < 0.001) {

因此,您基本上将所有差值小于 0.001 的浮点数视为相等。