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"桁まで表示され、必要ない場合は指数が省略される。