JavaScript数近似

JavaScript数近似,javascript,Javascript,我使用了以下函数: fixedTo(1) 要近似计算这样的数字: -3.43321e-11 if(Math.abs(value1 - value2) < 0.001) { 但问题是近似的结果是: -0.0 用减号 这是一个问题,因为数学中不存在带负号的0,如果我有: if(-0.0 === 0.0){} 它给我的是假的而不是真的。如何解决此问题?这是比较浮点值时的常见问题。浮点值几乎永远不会与您编写的值完全相同。所以你的-0.0实际上更像是-0.000001之类的 如果要比较浮

我使用了以下函数:

fixedTo(1) 
要近似计算这样的数字:

-3.43321e-11
if(Math.abs(value1 - value2) < 0.001) {
但问题是近似的结果是:

-0.0
用减号

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

if(-0.0 === 0.0){}

它给我的是假的而不是真的。如何解决此问题?

这是比较浮点值时的常见问题。浮点值几乎永远不会与您编写的值完全相同。所以你的-0.0实际上更像是-0.000001之类的

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

-3.43321e-11
if(Math.abs(value1 - value2) < 0.001) {
if(数学绝对值(值1-2)<0.001){

所以你基本上把所有差值小于0.001的浮点数都视为相等。

可能重复的请发布你的整个代码,我的意思是近似方法。问题是比较在一个迭代中,我需要数字符号,除了0@Frédérichamidii如果你搜索JavaScript负0,你会发现很多帖子s