Cla*_*diu 11 html floating-point html5 scientific-notation html-input
我想用一个<input>元素输入最多八个小数点的数字.但是,如果我有一个<input type="number" step="0.00000001">并使用输入元素上的向上/向下箭头(在Chrome上;这里是jsfiddle),那么我得到小数字的科学记数法:

如果我输入5,然后按箭头键,则会抑制科学记数法:

有没有办法让浏览器显示1e-8为0.000000001?
此外,这里是否有任何危险,如果数量足够小,我会遇到浮点舍入错误?
<input type="number" step="0.00000001">Run Code Online (Sandbox Code Playgroud)
<input oninput='precise(this)' type="number" step="0.00000001">
<script>
function precise(elem) {
elem.value = Number(elem.value).toFixed(8);
}
</script>Run Code Online (Sandbox Code Playgroud)
您可以toFixed根据需要将参数更改为所需的小数位数.我希望这有帮助!
这是基于 StardustGogeta 的答案的变体:
<input oninput="this.value=Number(this.value).toFixed(this.step.split('.')[1].length)" type=number step="0.00000001">
Run Code Online (Sandbox Code Playgroud)