JavaScript 標準ライブラリ Number

出典: フリー教科書『ウィキブックス(Wikibooks)』

JavaScript > Numberオブジェクト

目次

[編集] Numberオブジェクト

Number型は数字を扱うオブジェクトである。 toStringメソッドを除けば、見やすい形の文字列に変換するための特殊なメソッドである。 実際の所、Number型にあるメソッドを利用するというよりも、個々人で必要なメソッドを追加できる土台としてNumber型が存在すると言った方が良い。

次の様な書式でも、Number型オブジェクトは作成可能である

var v = new Number(1000); 

一見意味の内容に見えるが、boolean型等、数値以外のオブジェクトも変換可能である。ところに存在価値がある

document,write( new Number(true) );	// 1が表示される。falseの場合は0
document,write( new Number(null) );	// 0が表示される
document,write( new Number("1000") );	// 1000が表示される
document,write( new Number("abracadabra") );	// 変換できないのでNaNが表示される
document,write( new Number("0xff") );	// 255が表示される
document,write( new Number(undefined) );	// NaNが表示される 

[編集] プロパティ

[編集] Number.MAX_VALUE

Number型の正の有限数の最大値を返す。 標準仕様通りならば1.7976931348623157×10の308乗である。

document.write( Number.MAX_VALUE );	// 「1.7976931348623157e+308」が表示される 

[編集] Number.MIN_VALUE

Number型の正の最小値を返す。 標準仕様通りならば5×10の-324乗である。

[編集] Number.NaN

数字のNaN(Not a Number)の別表記系である。通常NaNを使うため、基本的に使う機会は無い。

[編集] Number.NEGATIVE_INFINITY

負の無限大「-Infinity」の別表記系である。

[編集] Number.POSITIVE_INFINITY

正の無限大「+Infinity」の別表記系である。

[編集] メソッド

[編集] Number.prototype.toString(radix)

文字列に変換する。通常は引数を指定しないで

(1000).toString() 

等の形で使用する。 ただし、引数で何進法で表記するかを指定でき、2進法で表記したい場合は2を、16進法で表記したい場合は16を与える

(1000).toString(2);	
(1000).toString(16); 

0~9とアルファベット26文字で表せるため、仕様上36進法まで対応しているが実際には2進法と16進法以外使用する場面は無い。

[編集] Number.prototype.toLocaleString()

使用している環境の、言語や文化に合わせた読みやすい形式の文字列で値を返す。実際にどの様な値が返るかは実装に依存しており、一定していない。 例えば主要なWebブラウザの場合、日本語環境では次の様な値が返る。

実装 書式
IE 1,000.00
Firefox 1,000
Opera 1000
Safari 1000

[編集] Number.prototype.valueOf()

値をそのまま返す。実用上特に意味は無い。

[編集] Number.prototype.toFixed(fractionDigits)

特定を指定した桁数の小数点で文字列に変換する。 実際の主な用途は、人間に見やすい程度の桁数に数字を変換することである。

document.write( Math.PI );	// 3.141592653589793 が表示される
document.write( (Math.PI).toFixed(2) );	// 小数点2桁まで、3.14 が表示される 

[編集] Number.prototype.toExponential(fractionDigits)

数字列を10のn乗という指数形式の文字列に変換する。 引数では、小数点以下を何桁まで表示するかを指定する。

document.write( (1234567890).toExponential(3) );	// 1.235e+9 が表示される 

[編集] Number.prototype.toPrecision(precision)

toExponentialメソッドと同じく数字列を10のn乗という指数形式の文字列に変換する。 一番の違いは、指数表示や少数表示が必要ない場合はそれを行わないことである。 次のコードは円周率πを指定した桁数まで表示させるものである。

document.write((Math.PI).toExponential(1) );	// 3.1e+0 が表示される
document.write((Math.PI).toPrecision(1) );	// 3が表示される 

toPrecisionメソッドの場合、"引数で指定した数-1"桁まで表示され、必要ない場合は指数が省略される。

ヘルプ