数値を文字列に変換する処理はこちらの記事を参照してください。
Number
関数を利用します。Number(数値に変換する文字列)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
function TestFunc() {
var a = "100";
var b = "200";
var c = "Penguin";
var d = "0.54";
var e = "2.43";
var ab = a + b;
var ac = a + c;
var nanb = Number(a) + Number(b);
var nab = Number(a) + b;
var nc = Number(c);
var nanc = Number(a) + Number(c);
var de = d + e;
var ndne =Number(d) + Number(e);
var nane = Number(a) + Number(e);
document.forms.form1.text1.value = ab;
document.forms.form1.text2.value = ac;
document.forms.form1.text3.value = nanb;
document.forms.form1.text4.value = nab;
document.forms.form1.text5.value = nc;
document.forms.form1.text6.value = nanc;
document.forms.form1.text7.value = de;
document.forms.form1.text8.value = ndne;
document.forms.form1.text9.value = nane;
}
</script>
</head>
<body>
<form id="form1">
<button type="button" onclick="TestFunc();">Exec</button><br />
<input id="text1" type="text" /><br />
<input id="text2" type="text" /><br />
<input id="text3" type="text" /><br />
<input id="text4" type="text" /><br />
<input id="text5" type="text" /><br />
<input id="text6" type="text" /><br />
<input id="text7" type="text" /><br />
<input id="text8" type="text" /><br />
<input id="text9" type="text" /><br />
</form>
</body>
</html>
var a = "100";
var b = "200";
var c = "Penguin";
var d = "0.54";
var e = "2.43";
var ab = a + b;
var ac = a + c;
var nanb = Number(a) + Number(b);
var nab = Number(a) + b;
var nc = Number(c);
var nanc = Number(a) + Number(c);
var de = d + e;
var ndne =Number(d) + Number(e);
var nane = Number(a) + Number(e);
var ab = a + b;
はそれぞれの値が文字列の値のため、文字列を結合した値 100200
が表示されます。
var ac = a + c
もそれぞれの値が文字列の値のため、文字列を結合した値 100Penguin
が表示されます。
var nanb = Number(a) + Number(b);
はそれぞれの値が数値に変換されるため、数値の和である 300
が表示されます。
var nab = Number(a) + b;
は変数aの値は数値に変換されますが、変数bの値は文字列のままのため、文字列の結合処理として実行され 100200
が表示されます。
var nc = Number(c);
は数値でない文字列を数値に変換したため、NaN
が変数に代入されます。
var nanc = Number(a) + Number(c);
は変数aは数値に変換されますが、変数cは NaN
に変換されるため、2変数の和も NaN
の値が表示されます。
var de = d + e;
はそれぞれの値が文字列の値のため、文字列が連結された値0.542.43
が表示されます。
var ndne = Number(d) + Number(e);
は小数の文字列同士を数値に変換し和を計算します。数値の合計の 2.97
が表示されます。
var nane = Number(a) + Number(e);
は整数の文字列を数値に変換したものと、小数を数値に変換したものの和を計算します。数値の合計の 102.43
が表示されます。