我希望使用<input>
元素输入最多八个小数点的数字。但是,如果我有<input type="number" step="0.00000001">
并使用输入元素上的向上/向下箭头(在Chrome上;这里是jsfiddle),那么我会得到小数字的科学记数法:< / p>
如果我输入,比方说5,然后点击箭头键,则科学记数法被抑制:
有没有办法让浏览器将1e-8
显示为0.000000001
?
此外,这里是否有任何危险,如果数量足够少,我会遇到浮点舍入错误?
<input type="number" step="0.00000001">
&#13;
答案 0 :(得分:6)
<input oninput='precise(this)' type="number" step="0.00000001">
<script>
function precise(elem) {
elem.value = Number(elem.value).toFixed(8);
}
</script>
&#13;
您可以根据需要将toFixed
参数更改为所需的小数位数。我希望这有帮助!
答案 1 :(得分:2)
以下是基于StardustGogeta&#39; s answer的变体:
<input oninput="this.value=Number(this.value).toFixed(this.step.split('.')[1].length)" type=number step="0.00000001">