トップページ >  javascript >  Number
初版2013/01/18: 最終更新日2013/01/18
  Number
目次
Number
Numberの最大値
Numberの型を文字列にする
Number.NaN
toPrecision
Number
JavaScriptのクラスでNumberというのがあります。これは64 ビットの浮動小数点数です。
ただし、特にNumberクラスで生成しなくても、変数に数値を代入すればNumberオブジェクトとなります。
以下、記述例です。

var num = new Nummer();

Numberの最大値
Numberの最大値は、Number.POSITIVE_INFINITYを使用します。
Numberのインスタンスを生成して、POSITIVE_INFINITYを見るのではなく、Number.POSITIVE_INFINITYが数値の最大値となります。以下、例です。



Infinityと表示されたと思います。要するにNumber.POSITIVE_INFINITYとInfinityはイコールです。
変数.POSITIVE_INFINITYとした場合はundefinedとなります。

以下、ソースです。

<input type="button" value="ボタン" onclick="a();" />
<script type="text/javascript">
<!--
function a(){
    alert(Number.POSITIVE_INFINITY);
    var a = new Number(3);
    alert(a.POSITIVE_INFINITY);
}
//-->
</script>

Numberの型を文字列にする
Number型の変数を文字列型にするにはtoString()メソッドを使用します。
Object型のメソッドですが、Number型はObject型を継承していますので使用できます。
また、Number型変数に+""という文字列を付加しても文字列に変換されます。以下、例です。



以下、ソースです。

<input type="button" value="ボタン" onclick="b();" />
<script type="text/javascript">
<!--
function b(){
    var str = "001";
    var num = parseInt( str );
    alert(typeof num);
    alert(typeof num.toString());
    alert(typeof(num + ""));
}
//-->
</script> 

Number.NaN
Number.NaNとは、Not a Numberの意味で数値ではないことを意味します。
特殊なプロパティで、typeofで型を調べるとnumberですが、Number.NaN == Number.NaNとするとfalseになります。
数値でないことを意味しますが、数値と比較するとfalseになります。
isNaNについては数値チェックを参照下さい。以下、色々試した実行結果です。



以下、ソースです。

<script type="text/javascript">
<!--
function c(){
    var num = 2;
    if(num == Number.NaN){
    
    }else{
        alert("2とNumber.NaNはイコールではありません");
    }
    alert("typeof = " + typeof Number.NaN);
    
    if(isNaN(Number.NaN)){
        alert("数値ではありません");
    }
}
//-->
</script>

toPrecision
NumberのtoPrecisionメソッドは、数値の整数の桁数より小さい値を引数に指定した場合、指数形式に変換します。



以下、ソースです。

<script type="text/javascript">
<!--
function d(){
    var num = 1111.561;
    alert(num.toPrecision(3));
}
//-->
</script>

整数の桁数と同じ値をtoPrecisionメソッドに指定した場合、四捨五入して引数の桁数に変換します。



以下、ソースです。

<script type="text/javascript">
<!--
function e(){
    var num = 1111.561;
    alert(num.toPrecision(4));
}
//-->
</script>

整数の桁数より大きい値をtoPrecisionメソッドに指定した場合、小数点の部分を四捨五入して引数の桁数に変換します。



以下、ソースです。

<script type="text/javascript">
<!--
function f(){
    var num = 1111.561;
    alert(num.toPrecision(5));
}
//-->
</script>