Chrome-Javascript:负指数计算错误,因为>-3.
我在做React项目 我有一个用例,我必须在NumberChrome-Javascript:负指数计算错误,因为>-3.,javascript,google-chrome,google-chrome-devtools,v8,exponent,Javascript,Google Chrome,Google Chrome Devtools,V8,Exponent,我在做React项目 我有一个用例,我必须在Number标签上添加step属性。此步骤属性将是动态的。基于数组数据 数组数据是[{precision:2},{precision:4},{precision:5}] 因此,我生成如下步骤: <input type="number" step={ 10 ** -precision } > 此处10**-precision将输出: 0.01表示精度=2 0.0001表示精度=4 0.00001 fror精度=5 这就是我想要的,它在F
标签上添加step属性。此步骤属性将是动态的。基于数组数据
数组数据是[{precision:2},{precision:4},{precision:5}]
因此,我生成如下步骤:
<input type="number" step={ 10 ** -precision } >
此处10**-precision
将输出:
0.01表示精度=2
0.0001表示精度=4
0.00001 fror精度=5
这就是我想要的,它在Firefox和Opera中运行良好
但是Chrome是个问题,Chrome对10**-4
的输出是0.000099999999999
。在我的情况下,这是破绽的
Chrome的输出正确,直到10**-3
,然后打印错误
我的chrome版本是:74.0.3729.131,OS:MacOs Mojave:10.14.4可能是浮点精度问题。 如果你只需要把它作为道具传递给标签,你可以试试
使用chrome,我从10**-4获得.0001;也许你可以试试数学@艾米:不重复。这与JS无关。每个编程语言输出0.1+0.2->0.300000000004
@shadoe2020您的chrome版本是什么?我的是74.0.3729.131
73.0.3683.103(正式构建)(64位)是的,这是可能的解决方案。将检查并投票。但这个问题真的很奇怪。Firefox和Opera输出完美我同意这很奇怪(chromium也可以正常工作),我也不能很好地解释它(js引擎实现?我不知道该说什么)。让我知道toFixed
技巧是否有效