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

时间:2019-05-10 15:37:41

标签: javascript google-chrome google-chrome-devtools v8 exponent

我正在研究React项目。

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

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

所以我生成了如下步骤:

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

此处10 ** -precision将输出:

0.01(精度= 2)

0.0001(精度= 4)

0.00001 fror precision = 5

这就是我想要的,并且在Firefox和Opera中都能正常工作。

但是Chrome是问题所在,10 ** -4的Chrome输出为0.00009999999999999999。就我而言,这很糟糕。

Chrome的输出正确,直到10 ** -3打印错误为止。

enter image description here

我的Chrome版本是:74.0.3729.131,操作系统:MacOs Mojave:10.14.4

1 个答案:

答案 0 :(得分:1)

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