我正在研究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
打印错误为止。
我的Chrome版本是:74.0.3729.131,操作系统:MacOs Mojave:10.14.4
答案 0 :(得分:1)
也许这是浮点精度问题。
如果您只需要将它作为道具传递给标签,则可以尝试
<input type="number" step={ (10 ** -precision).toFixed(precision) } />