JavaScript 数値メソッド

これらの数値メソッドはすべての JavaScript 数値で使用できます:

メソッド 説明
toString() 数値を文字列として返します
toExponential() 指数表記で数値を返します
toFixed() 指定した小数点以下の桁数で数値を返します
toPrecision() 指定した桁数で数値を返します
valueOf() 数値を数値として返します

toString() メソッド

toString() メソッドは数値を文字列として返します。

すべての数値メソッドは、リテラル、変数、または式のどれに対しても使用できます:


let x = 123;
x.toString();
(123).toString();
(100 + 23).toString();

toExponential() メソッド

toExponential() は数値を丸めて指数表記で返します。

パラメータで小数点以下の桁数を定義します:


let x = 9.656;
x.toExponential(2);
x.toExponential(4);
x.toExponential(6);

パラメータはオプションです。指定しない場合、JavaScript は数値を丸めません。

toFixed() メソッド

toFixed() は指定した小数点以下の桁数で数値を文字列として返します:


let x = 9.656;
x.toFixed(0);
x.toFixed(2);
x.toFixed(4);
x.toFixed(6);

toFixed(2) はお金の計算に最適です。

toPrecision() メソッド

toPrecision() は指定した桁数で数値を文字列として返します:


let x = 9.656;
x.toPrecision();
x.toPrecision(2);
x.toPrecision(4);
x.toPrecision(6);

valueOf() メソッド

valueOf() は数値を数値として返します。


let x = 123;
x.valueOf();
(123).valueOf();
(100 + 23).valueOf();

JavaScript では、数値はプリミティブ値(typeof = number)またはオブジェクト(typeof = object)として存在します。

valueOf() メソッドは、JavaScript 内部で Number オブジェクトをプリミティブ値に変換するために使用されます。

コード内で利用する必要はありません。

変数を数値に変換する方法

変数を数値に変換するために使用できる JavaScript のメソッドが3つあります:

メソッド 説明
Number() 引数から数値に変換された数値を返します。
parseFloat() 引数を解析し、浮動小数点数を返します
parseInt() 引数を解析し、整数を返します

Number() メソッド

Number() メソッドは JavaScript の変数を数値に変換するために使用できます:


Number(true);
Number(false);
Number("10");
Number("  10");
Number("10  ");
Number(" 10  ");
Number("10.33");
Number("10,33");
Number("10 33");
Number("John");

数値に変換できない場合、NaN(Not a Number)が返されます。

Date 上で使用される Number() メソッド

Number() は日付も数値に変換できます。


Number(new Date("1970-01-01"))

Note

Date() メソッドは1970年1月1日からのミリ秒数を返します。

1970-01-02 と 1970-01-01 の間のミリ秒数は 86400000 です:


Number(new Date("1970-01-02"))
Number(new Date("2017-09-30"))

parseInt() メソッド

parseInt() は文字列を解析し、整数を返します。スペースは許可されます。最初の数値のみが返されます:


parseInt("-10");
parseInt("-10.33");
parseInt("10");
parseInt("10.33");
parseInt("10 20 30");
parseInt("10 years");
parseInt("years 10");

数値に変換できない場合、NaN(Not a Number)が返されます。

parseFloat() メソッド

parseFloat() は文字列を解析し、数値を返します。スペースは許可されます。最初の数値のみが返されます:


parseFloat("10");
parseFloat("10.33");
parseFloat("10 20 30");
parseFloat("10 years");
parseFloat("years 10");

数値に変換できない場合、NaN(Not a Number)が返されます。

Number オブジェクトのメソッド

これらのオブジェクトメソッドは Number オブジェクトに属しています:

メソッド 説明
Number.isInteger() 引数が整数であれば true を返します
Number.isSafeInteger() 引数が安全な整数であれば true を返します
Number.parseFloat() 文字列を数値に変換します
Number.parseInt() 文字列を整数に変換します

Number メソッドは変数で使用できません

上記の数値メソッドはすべて JavaScript の Number オブジェクトに属しています。

これらのメソッドは Number.isInteger() のようにアクセスする必要があります。

X.isInteger() のように変数 X を使用すると、エラーが発生します:

TypeError X.isInteger は関数ではありません。

Number.isInteger() メソッド

Number.isInteger() メソッドは引数が整数であれば true を返します。


Number.isInteger(10);
Number.isInteger(10.5);

Number.isSafeInteger() メソッド

安全な整数は倍精度数値として正確に表現できる整数です。

Number.isSafeInteger() メソッドは引数が安全な整数であれば true を返します。


Number.isSafeInteger(10);
Number.isSafeInteger(12345678901234567890);

安全な整数は -(253 – 1) から +(253 – 1) のすべての整数です。

これは安全です: 9007199254740991。これは安全ではありません: 9007199254740992。

Number.parseFloat() メソッド

Number.parseFloat() は文字列を解析し、数値を返します。

スペースは許可されます。最初の数値のみが返されます:


Number.parseFloat("10");
Number.parseFloat("10.33");
Number.parseFloat("10 20 30");
Number.parseFloat("10 years");
Number.parseFloat("years 10");

Note

Number メソッドの Number.parseInt() と Number.parseFloat()

は次のような

Global メソッド parseInt() と parseFloat() と同じです。

その目的はグローバルな機能のモジュール化です(同じ JavaScript コードをブラウザの外で使用しやすくするため)。

Number.parseInt() メソッド

Number.parseInt() は文字列を解析し、整数を返します。

スペースは許可されます。最初の数値のみが返されます:


Number.parseInt("-10");
Number.parseInt("-10.33");
Number.parseInt("10");
Number.parseInt("10.33");
Number.parseInt("10 20 30");
Number.parseInt("10 years");
Number.parseInt("years 10");

数値に変換できない場合、NaN(Not a Number)が返されます。