Javascript Math.cos和Math.sin不准确.有什么解决办法吗



Javascript数学三角方法返回错误的结果。尝试

alert(Math.sin(Math.PI));

它不返回0。

可能问题出在javascript的小数精度上。有什么工作可以得到正确的结果吗?

不过,它非常非常接近于零。(~10^-16)

并且CCD_ 1确实返回CCD_。

这只是处理浮点运算时必须小心的一件事。舍入错误到处都是。

您可以使用

Math.sin(Math.PI).toFixed(3) // "0.000"

示例:

const cos = (a) => Math.cos(Math.PI * a / 180); cos(90) // 6.123233995736766e-17

然后你可以使用.toFixed()

cos(90).toFixed(3) // "0.000"

备注

.toFixed()返回字符串,因此可以使用parseFloat() 将其解析为浮动

parseFloat(cos(90).toFixed(3)) // 0.000

相关内容

最新更新