JavaScriptで数値を文字列に変換する方法について説明します。
以下では、数値オブジェクトが持つtoString(), toFixed(), toExponential()の各メソッド、及び、暗黙の型変換を利用した型変換の方法について説明します。
toString()メソッド
toString()メソッドは、引数に基数(例:2進数ならば基数は2)を指定して数値を文字列に変換します。
基数は2〜36までの数値を指定可能です。また、引数を省略した場合、基数は10と見なされます。
1 2 3 4 5 |
var num = 255; num.toString(); //"255"(基数は10と見なされる) num.toString(10); //"255" num.toString(2); //"11111111" num.toString(16); //"ff" |
toFixed()メソッド
toFixed()メソッドは、数値を固定小数点表記の文字列に変換します。
引数に小数点以下の桁数を指定することができます(原則として0〜20までの数値)。また、引数を省略した場合、桁数は0と見なされます。
指定した桁数に応じて、必要があれば小数点以下は四捨五入した近似値となります。
1 2 3 4 5 6 |
var num = 123.456; num.toFixed(); //"123"(桁数は0と見なされる) num.toFixed(1); //"123.5"(四捨五入されていることに注意) num.toFixed(2); //"123.46"(四捨五入されていることに注意) num.toFixed(3); //"123.456" num.toFixed(4); //"123.4560"(0が追加されていることに注意) |
toExponential()メソッド
toExponential()メソッドは、数値を指数表記で表した文字列に変換します。
引数には、指数表記における小数点の後の桁数を指定します。引数を省略した場合、その数を表すのに必要な桁数と見なされます。
1 2 3 4 5 6 |
var num = 123.456; num.toExponential(); //1.223456e+2(引数に5を指定したのと同じ) num.toExponential(1); //1.2e+2 num.toExponential(2); //1.23e+2 num.toExponential(5); //1.23456e+2 num.toExponential(6); //1.234560e+2(0が追加される) |
暗黙の型変換を利用する
JavaScriptでは、必要に応じて暗黙の型変換が行われます。
暗黙の型変換はバグの元になることも多く多用すべきではありませんが、数値を文字列に変換する際のテクニックとして文字列連結演算子(+)を使った以下の手法がよく使われています。
1 2 3 4 |
var num = 123; num + ""; //'123' num = 123.456; num + ""; //'123.456' |