numberオブジェクトって何?
詳しく知りたい・・
本記事は、
上記のような方に向けて記事を書いています。
こんにちは、トモジです。
私はプログラミング未経験から独学で勉強して、
簡易的な動的サイト・ゲーム・サービスが作れる状態になりました。
本記事は、numberオブジェクトに関して要点をわかりやすく説明しております。
1.JavaScriptのnumberオブジェクト
numberオブジェクトは、
数値型の値を扱うオブジェクトになり
数値の整形や特別な値を表現する
プロパティを提供しております。
非常にたくさんの機能が提供されておりますので、
今回は後編(みどり枠)を順番に説明していきます。
2.メソッド
numberオブジェクトの[メソッド]は、
以下の10種類のメンバーがありますので
順番に見ていきましょう。
toString
toStringは、数値を文字列に変換し
引数に進数を入れると進数変換された文字列に
変わります。
toStringに関して
var num = 200;
var sumNum = num + num;
var str1 = num.toString();
var sumStr = str1 + str1;
var str2 = num.toString(16);
console.log("数値 : " + sumNum);
console.log("文字列 : " + sumStr);
console.log("文字列(16進数) : " + str2);
数値 : 400
文字列 : 200200
文字列(16進数) : c8
toExponential
toExponentialは、指数形式に変換します。
指数形式とは、
○○×10x ( ○○e+x ) で表記する形式
toExponentialに関して
var num = 12.345;
console.log("指数形式[toExponential(1)] : " + num.toExponential(1));
console.log("指数形式[toExponential(2)] : " + num.toExponential(2));
console.log("指数形式[toExponential(3)] : " + num.toExponential(3));
指数形式[toExponential(1)] : 1.2e+1
指数形式[toExponential(2)] : 1.23e+1
指数形式[toExponential(3)] : 1.235e+1
toFixed
toFixedは、
指定した小数点の位になるように四捨五入します。
toFixedに関して
var num = 123.456;
console.log("四捨五入の値[toFixed(1)] : " + num.toFixed(1));
console.log("四捨五入の値[toFixed(2)] : " + num.toFixed(2));
console.log("四捨五入の値[toFixed(3)] : " + num.toFixed(3));
四捨五入の値[toFixed(1)] : 123.5
四捨五入の値[toFixed(2)] : 123.46
四捨五入の値[toFixed(3)] : 123.456
toPrecision
toPrecisionは、指定したケタ数に変換します。
toPrecisionに関して
var num1 = 1.23;
var num2 = 123;
console.log("num1.toPrecision(1) : " + num1.toPrecision(1));
console.log("num1.toPrecision(2) : " + num1.toPrecision(2));
console.log("num1.toPrecision(3) : " + num1.toPrecision(3));
console.log("num2.toPrecision(1) : " + num2.toPrecision(1));
console.log("num2.toPrecision(2) : " + num2.toPrecision(2));
console.log("num2.toPrecision(3) : " + num2.toPrecision(3));
num1.toPrecision(1) : 1
num1.toPrecision(2) : 1.2
num1.toPrecision(3) : 1.23
num2.toPrecision(1) : 1e+2
num2.toPrecision(2) : 1.2e+2
num2.toPrecision(3) : 123
isNaN
isNaNは、
NaN(数値ではない)であるかを判断します。
isNaNに関して
console.log("NaN : " + isNaN(NaN));
console.log("tomoji : " + isNaN("tomoji"));
console.log("undefined : " + isNaN(undefined));
console.log("100 : " + isNaN(100));
NaN : true
tomoji : true
undefined : true
100 : false
isFinite
isFiniteは、有限値であるかを判断します。
- 文字列(数値)
- 数値
- null
- 2進数・8進数・16進数
- 真偽値(Boolean型)
- 文字列(数値以外)
- NaN
- 正や負の無限大
- undefined
- 配列とオブジェクト
・nullは0として扱われる
・真偽値は0か1として扱われる
isFiniteに関して
// 有限値(true)
console.log('isFinite("123") : ' + isFinite("123"));
console.log('isFinite(123) : ' + isFinite(123));
console.log('isFinite(null) : ' + isFinite(null));
console.log('isFinite(2進数) : ' + isFinite(0b0111));
console.log('isFinite(8進数) : ' + isFinite(0o755));
console.log('isFinite(16進数) : ' + isFinite(0xFF));
console.log('isFinite(true) : ' + isFinite(true));
console.log('isFinite(false) : ' + isFinite(false));
// 有限値(false)
console.log('isFinite("abc") : ' + isFinite("abc"));
console.log('isFinite(NaN) : ' + isFinite(NaN));
console.log('isFinite(Infinity) : ' + isFinite(Infinity));
console.log('isFinite(undefined) : ' + isFinite(undefined));
console.log('isFinite([1, 2]) : ' + isFinite([1, 2]));
console.log('isFinite({ a: 1 }) : ' + isFinite({ a: 1 }));
isFinite(“123”) : true
isFinite(123) : true
isFinite(null) : true
isFinite(2進数) : true
isFinite(8進数) : true
isFinite(16進数) : true
isFinite(true) : true
isFinite(false) : true
isFinite(“abc”) : false
isFinite(NaN) : false
isFinite(Infinity) : false
isFinite(undefined) : false
isFinite([1, 2]) : false
isFinite({ a: 1 }) : false
isInteger
isIntegerは、整数値であるかを判定し
値が整数であれば true 、それ以外は false を返します。
isIntegerに関して
// 整数値(true)
console.log('isInteger(123) : ' + Number.isInteger(123));
console.log('isInteger(2進数) : ' + Number.isInteger(0b0111));
console.log('isInteger(8進数) : ' + Number.isInteger(0o755));
console.log('isInteger(16進数) : ' + Number.isInteger(0xFF));
console.log('isInteger(最大値) : ' + Number.isInteger(1.797e308));
// 整数値(false)
console.log('isInteger("123") : ' + Number.isInteger("123"));
console.log('isInteger(null) : ' + Number.isInteger(null));
console.log('isInteger(true) : ' + Number.isInteger(true));
console.log('isInteger(false) : ' + Number.isInteger(false));
console.log('isInteger("abc") : ' + Number.isInteger("abc"));
console.log('isInteger(NaN) : ' + Number.isInteger(NaN));
console.log('isInteger(Infinity) : ' + Number.isInteger(Infinity));
console.log('isInteger(undefined) : ' + Number.isInteger(undefined));
console.log('isInteger([1, 2]) : ' + Number.isInteger([1, 2]));
console.log('isInteger({ a: 1 }) : ' + Number.isInteger({ a: 1 }));
console.log('isInteger(最大値以上) : ' + Number.isInteger(1.798e308));
isInteger(123) : true
isInteger(2進数) : true
isInteger(8進数) : true
isInteger(16進数) : true
isInteger(最大値) : true
isInteger(“123”) : false
isInteger(null) : false
isInteger(true) : false
isInteger(false) : false
isInteger(“abc”) : false
isInteger(NaN) : false
isInteger(Infinity) : false
isInteger(undefined) : false
isInteger([1, 2]) : false
isInteger({ a: 1 }) : false
isInteger(最大値以上) : false
isSafeInteger
isSafeIntegerは、安全な数値であるかどうかを判定します。
isSafeIntegerに関して
console.log('isSafeInteger(最大値) : ' + Number.isSafeInteger(9007199254740991));
console.log('isSafeInteger(最大値以上) : ' + Number.isSafeInteger(9007199254740992));
isSafeInteger(最大値) : true
isSafeInteger(最大値以上) : false
parseFloat
parseFloatは、文字列を小数点に変換します。
parseFloatに関して
var str = "123.4";
var sumStr = str + str;
var num = parseFloat(str);
var sumNum = num + num;
console.log("文字列 : " + sumStr);
console.log("数値 : " + sumNum);
文字列 : 123.4123.4
数値 : 246.8
parseInt
parseIntは、文字列を整数に変換します。
parseIntに関して
var str = "123.4";
console.log("parseFloat : " + parseInt(str));
parseFloat : 123
まとめ
最後にこの記事のポイントをまとめておきます。
numberオブジェクト
メソッド
toString
数値を文字列に変換toExponential
指数形式に変換toFixed
小数点の位になるように四捨五入toPrecision
指定したケタ数に変換isNaN
NaNであるかを判断isFinite
有限値であるかを判断isInteger
整数値であるかを判定isSafeInteger
安全な数値かを判定parseFloat
文字列を小数点に変換parseInt
文字列を整数に変換