モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

firefoxだとHTML5のformでtype=number指定すると小数点以下3桁しか表示してくれない

HTML5のform内で新たに使えるようになったtype指定に「number」というものがあります。
これは「数値」の入力を明示したもので、手軽に入力を数値だけに限定したり、入力用のスピナーを付けてくれたりします。


でもこれつけると、firefoxではvalueで与えられた初期値を勝手に小数点以下3桁に丸めてしまうようなのです。


あまり小数点以下3桁以上、例えば6桁とかが必要になることは少ないと思いますが、緯度経度情報を扱うときはそのくらいの精度が必要になってくるのではまります。
「type="number"」には「step="0.1"」のような情報を追加することが可能で、入力刻みを指定することが出来るのですが、これを「step="0.000001"」のように必要な小数点桁数まで指定しても、やはり3桁までしか表示を反映してくれません。
とりあえず、firefox 29ではそのような動作をします。


(追記)

chromeとIE11で確認したところ、こちらは問題なく全桁表示されました。
なのでfirefoxのみの問題のようです。


コメントいただいた「step=any」を試してみたのですが、それでもやはり3桁までで切られてしまいました。

(/追記)


ということで、firefoxで小数点以下3桁以上の精度でformの入力初期値を反映をさせたい場合「type="number"」は使わずに「type="text"」など通常の入力欄にするしかないようです。