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) } />
我正在做 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) } />