首页 > 解决方案 > 为什么 (-2.4492935982947064e-16).toFixed(5) 等于“-0.00000”?

问题描述

鉴于此代码:

const value = 1;
Math.sin(2 * Math.PI * value).toFixed(5);

"-0.00000"当之前的值.toFixed(5)是时,为什么会返回-2.4492935982947064e-16

标签: javascriptfloating-pointprecisiontofixed

解决方案


该数字采用科学计数法。

e-16 表示数字左侧有 16 个 0。

-2.4492935982947064e-16

是真的

-0.00000000000000024492935982947064

当你运行 toFixed(5) 时,你会得到 5 个小数位,它们都是 0。


推荐阅读