繁体   English   中英

有没有办法抑制<input type =“number”>的科学记数法?

[英]Is there a way to suppress scientific notation for <input type=“number”>?

我想用<input>元素<input>最多8个小数点的数字。 但是,如果我有一个<input type="number" step="0.00000001">并使用输入元素上的向上/向下箭头(在Chrome上;这里是jsfiddle ),那么我会得到小数字的科学记数法:

在此输入图像描述

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

在此输入图像描述

有没有办法让浏览器将1e-8显示为0.000000001

此外,这里是否有任何危险,如果数量足够小,我会遇到浮点舍入错误?

 <input type="number" step="0.00000001"> 

 <input oninput='precise(this)' type="number" step="0.00000001"> <script> function precise(elem) { elem.value = Number(elem.value).toFixed(8); } </script> 

您可以根据需要将toFixed参数更改为所需的小数位数。 我希望这有帮助!

以下是基于StardustGogeta 答案的变体:

<input oninput="this.value=Number(this.value).toFixed(this.step.split('.')[1].length)" type=number step="0.00000001">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM