数値の入力

カ氏温度:

<script>
function conv(x) {
  document.getElementById("fahrenheit").value = 1.8 * parseFloat(x.value) + 32;
}
</script>
<p><label>セ氏温度:<input id="celsius" onchange="conv(this)"></label></p>

<p>カ氏温度: <input id="fahrenheit" readonly></p>

解説

数値を入力するには,いったん文字列を入力して,その中から数値を取り出すことになります。

文字列 s を整数に変換するには parseInt(s),浮動小数点の数値に変換するには parseFloat(s) を使います。それぞれ整数の英語 integer,浮動小数点の英語 floating point に因む名前です。これらは文字列を先頭から読んでいって,数値と解釈できるところまでを解釈します。全体が数値の形をしていないとエラー(実際には Not a Number を意味する NaN という値)を返す Number() という関数もあります。

上の例ではカ氏温度欄を readonly にしていますが,これを外すとカ氏温度欄も入力できるようになります。カ氏温度を入力するとセ氏温度が求まるように直してみましょう。