VBScript: Int型とLong型の最大値は?

VBScriptでのInteger型(整数型)の最大値は「32,767」です。 値の範囲は「-3,2768 ~ 32,767」になります。

Long型(長整数型)の最大値は「2,147,483,647」です。 値の範囲は「-2,147,483,648 ~ 2,147,483,647」になります。

Integer型(整数型)の最大値を確認してみる

Int型の最大値が「32767」であることを確認してみます。

まずCInt 関数を使って「32767」をInt型に変換してみます。

n = CInt(32767)

WScript.Echo TypeName(n)  ' Integer

このコードはもちろん正常に実行できます。

次に1つ大きい値の「32768」をInt型に変換してみます。

n = CInt(32768)

上のコードを実行すると、次のエラーが発生します。

実行結果
Microsoft VBScript 実行時エラー: オーバーフローしました。: 'CInt'

「32767」はOKで「32768」だとオーバーフローになるため、 Int型の最大値が「32767」であることが確認できます。

Long型(長整数型)の最大値を確認してみる

同じようにLong型の最大値が「2,147,483,647」であることを確認してみます。

まずCLng 関数を使って「2147483647」をLong型に変換してみます。

n = CLng(2147483647)

WScript.Echo TypeName(n) ' Long
上のコードは正常に実行されます。

次に1つ大きい値の「2147483648」をLong型に変換してみます。

上のコードを実行すると、次のエラーが発生します。

実行結果
Microsoft VBScript 実行時エラー: オーバーフローしました。: 'CLng'

「2147483647」はOKで「2147483648」だとオーバーフローになるため、 Long型の最大値が「2147483647」であることが確認できます。

VBScript入門