Chrome - Javascript: > -3 的负指数计算错误

Chrome - Javascript: Negative Exponent Calculation is wrong for > -3

我正在做 React 项目。

我有一个用例,我必须在 Number <Input> 标签上添加 step 属性。此步骤属性将是动态的。基于数组数据。

数组数据为[{ precision: 2 }, { precision: 4 }, { precision: 5 }].

所以我生成了这样的步骤:

<input type="number" step={ 10 ** -precision } >

这里10 ** -precision会输出:

0.01 精度 = 2

0.0001 精度 = 4

0.00001 精度 = 5

这就是我想要的,它在 Firefox 和 Opera 中运行良好。

但 Chrome 是问题所在,Chrome 对 10 ** -4 的输出是 0.00009999999999999999。这对我来说是坏事。

Chrome的输出在10 ** -3之前都是正确的,之后就打印错误了。

我的 chrome 版本是:74.0.3729.131 和 OS:MacOs Mojave:10.14.4

可能是浮点精度问题。 如果你只需要将它作为 prop 传递给标签,你可以尝试 <input type="number" step={ (10 ** -precision).toFixed(precision) } />