2015-10-14 2 views
6

<input>要素で小数点以下8桁の数値を入力したいと思います。 ;私は<input type="number" step="0.00000001">とは、入力要素上のアップ/ダウンの矢印を使用している場合しかし、その後、私は少数のための科学的表記法を取得する(クローム上をここjsfiddleです):<input type = "number">の科学記法を抑制する方法はありますか?

enter image description here

I入力の場合、 、と言う5、その後、矢印キーを押し、その後、科学的表記が抑制されている:

enter image description here

0.000000001として1e-8を表示するには、ブラウザを取得する方法はありますか?

また、十分に小さい数値で浮動小数点の丸め誤差が発生する危険性はありますか?

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

答えて

4

<input oninput='precise(this)' type="number" step="0.00000001"> 
 

 
<script> 
 
    function precise(elem) { 
 
    elem.value = Number(elem.value).toFixed(8); 
 
    } 
 
</script>

必要に応じて、小数点以下の桁数の所望の数にtoFixedパラメータを変更することができます。私はこれが助けて欲しい!ここで

+0

あなたが正確な '関数(エル){el.valueをやって、' oninput =精密(この) 'で特定の' input'要素を渡すことができます=数値(el.value).toFixed(8); } ' – AndyPerlitch

+0

@AndyPerlitch非常に良い点は、私は答えを修正しました。 – StardustGogeta

2

はStardustGogetaのanswerに基づいてバリエーションです:

<input oninput="this.value=Number(this.value).toFixed(this.step.split('.')[1].length)" type=number step="0.00000001"> 
関連する問題