数値データ

更新 : 2007 年 11 月

JScript の数値データに整数データと浮動小数点データのどちらを使用するかは、データを使用する状況によって決まります。整数データと浮動小数点データを表す方法もいくつかあります。

正の整数、負の整数、および 0 は整数型です。これらの数値は、基数 10 (10 進数)、基数 8 (8 進数)、および基数 16 (16 進数) で表現できます。JScript では、ほとんどの数値は 10 進数で表記されます。8 進数の整数であることを示すには、先頭に 0 を付けます。各桁には 0 ~ 7 の数字だけを使用します。先頭が 0 でも、8 や 9 が含まれている場合は 10 進数として処理されます。一般的には、8 進数の使用はお勧めしません。

16 進数 (hex) の数値であることを示すには、先頭に "0x" (x は大文字でも小文字でも可) を付けます。各桁には 0 ~ 9 の数字および A ~ F の英字 (大文字でも小文字でも可) を使用します。A ~ F の英字は、1 桁の数値として、10 進数の 10 ~ 15 に相当します。たとえば、0xF は 15、0x10 は 16 に相当します。

8 進数および 16 進数は負の値である場合もあります。小数部分はなく、指数表記は使用できません。

浮動小数点数は、整数に小数部分が付加されます。浮動小数点数は、整数型の表記に、小数点以下の数値を指定して表現します。また、指数表記も使用できます。10 の累乗の指数を表すには、大文字または小文字の e が使用されます。1 つの 0 から始まり小数点を含む数値は、10 進数の浮動小数点リテラルとして解釈され、8 進数リテラルには解釈されません。

また、JScript の浮動小数点数は、整数型では表現できない特殊な数値を表すことができます。これらの数値は、次のとおりです。

  • NaN (非数)。数値演算が不適切なデータ (文字列や未定義値) で実行された場合に使用されます。

  • Infinity。正の数値が JScript で表記するには大きすぎる場合に使用されます。

  • -Infinity (負の Infinity)。負の数値が JScript で表現するには小さすぎる場合に使用されます。

  • 正の 0 および負の 0。JScript では、状況に応じて正の 0 と負の 0 が区別されます。

JScript の数値の例を次に示します。数値が "0x" で始まり小数点がある場合は、エラーが発生します。

数値

説明

10 進数での表記

.0001、0.0001、1e-4、1.0e-4

この 4 つの浮動小数点数は、すべて同じ値です。

0.0001

3.45e2

浮動小数点数。

345

42

整数です。

42

0378

整数です。"0" で始まるため 8 進数のように見えますが、8 は 8 進数では使用できない数値であるため、10 進数として処理されます。この表記では、レベル 1 の警告が生成されます。

378

0377

8 進数です。上記の数値より 1 だけ小さい数値に見えますが、実際にはまったく異なる数値です。

255

0.0001, 00.0001

浮動小数点数です。"0" で始まりますが小数点があるため 8 進数ではありません。

0.0001

0Xff

16 進数の整数です。

255

0x37CF

16 進数の整数です。

14287

0x3e7

16 進数の整数です。e は累乗として処理されません。

999

0x3.45e2

エラーが発生します。16 進数は小数部を持つことができません。

N/A (コンパイラ エラー)

整数型の変数は、有限の数値範囲だけを表現できます。整数型に対して大きすぎる、または小さすぎる数値リテラルを代入しようとすると、コンパイル時に型の不一致エラーが発生します。詳細については、「データ型の概要」を参照してください。

リテラルのデータ型

ほとんどの場合、JScript が数値リテラルを解釈するときのデータ型は、あまり意識する必要はありません。ただし、数値が非常に大きい場合や正確な場合、データ型は重要になります。

JScript の整数リテラルは、サイズと使用方法に応じて、int、long、ulong、decimal、または double 型のデータを表します。int 型の範囲 (-2147483648 ~ 2147483647) にあるリテラルは、int 型として解釈されます。int 型の範囲外で long 型の範囲 (-9223372036854775808 ~ 9223372036854775807) にあるリテラルは、long 型として解釈されます。long 型の範囲外で ulong 型の範囲 (9223372036854775807 ~ 18446744073709551615) にあるリテラルは、ulong 型として解釈されます。その他の整数リテラルはすべて double 型として解釈されるため、精度の情報は失われます。例外的に、リテラルがすぐに decimal 型の変数または定数に格納される場合、または decimal を受け取る関数に渡される場合は、decimal として解釈されます。

JScript の浮動小数点リテラルは double 型に解釈されます。ただし、整数型と同様に、すぐに decimal として使用される場合は decimal として解釈されます。decimal 型では、NaN、正の Infinity、または負の Infinity を表現できません。

参照

概念

JScript の式

参照

NaN プロパティ (Global)

Infinity プロパティ

その他の技術情報

JScript のデータ

データ型 (JScript)