JavaScriptのnumberオブジェクトに関して(後編)

トモジのアイコン画像トモジ

numberオブジェクトって何?
詳しく知りたい・・

本記事は、
上記のような方に向けて記事を書いています。

こんにちは、トモジです。

私はプログラミング未経験から独学で勉強して、
簡易的な動的サイト・ゲーム・サービスが作れる状態になりました。

本記事は、numberオブジェクトに関して要点をわかりやすく説明しております。

記事の内容

1.JavaScriptのnumberオブジェクト

numberオブジェクトは、
数値型の値を扱うオブジェクトになり
数値の整形や特別な値を表現する
プロパティを提供しております。

非常にたくさんの機能が提供されておりますので、
今回は後編(みどり枠)を順番に説明していきます。

numberオブジェクトの一覧
numberオブジェクト一覧

2.メソッド

numberオブジェクトの[メソッド]は、
以下の10種類のメンバーがありますので
順番に見ていきましょう。

numberオブジェクトのメソッドに関しての図
numberオブジェクトのメソッド

toString

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の説明図

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に関しての説明図

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に関しての説明図

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に関しての説明図

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は、有限値であるかを判断します。

isFiniteに関しての説明図
有限値(true)
  • 文字列(数値)
  • 数値
  • null
  • 2進数・8進数・16進数
  • 真偽値(Boolean型)
有限値ではない(false)
  • 文字列(数値以外)
  • 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に関しての説明図

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に関しての説明図

isSafeIntegerに関して

console.log('isSafeInteger(最大値) : ' + Number.isSafeInteger(9007199254740991));
console.log('isSafeInteger(最大値以上) : ' + Number.isSafeInteger(9007199254740992));
出力結果

isSafeInteger(最大値) : true
isSafeInteger(最大値以上) : false

parseFloat

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の説明図

parseIntに関して

var str = "123.4";

console.log("parseFloat : " + parseInt(str));
出力結果

parseFloat : 123

まとめ

最後にこの記事のポイントをまとめておきます。

まとめ

numberオブジェクト

メソッド

  • toString
    数値を文字列に変換

  • toExponential
    指数形式に変換

  • toFixed
    小数点の位になるように四捨五入

  • toPrecision
    指定したケタ数に変換

  • isNaN
    NaNであるかを判断

  • isFinite
    有限値であるかを判断

  • isInteger
    整数値であるかを判定

  • isSafeInteger
    安全な数値かを判定

  • parseFloat
    文字列を小数点に変換

  • parseInt
    文字列を整数に変換

記事の内容
閉じる