現在ログインしていません。
新規アカウント作成
ログイン

型の一覧

型の基本情報

この表はVBで用意されている全データ型の基本的な情報です。

データ型名称読み方小数負数正確値の範囲
Booleanブール型ブール---True または False
Byteバイト型バイト××0 ~ 255
Char文字型キャラ---1文字(Unicode)※数値に変換すると0 ~ 65535ですが数値用ではありません。
Short短整数型ショート×-32768 ~ 32767
Integer整数型インテジャー×-2147483648 ~ 2147483647
Long長整数型ロング×-9223372036854775808 ~ 9223372036854775807
SByte符号付バイト型エスバイト×-128 ~ 127(VB2005以降)
UShort符号なし短整数型ユーショート××0 ~ 65535(VB2005以降)
UInteger符号なし整数型ユーインテジャー××0 ~ 4294967295(VB2005以降)
ULong符号なし長整数型ユーロング××0 ~ 18446744073709551615(VB2005以降)
Decimal10進型デシマル※小数の桁数によって異なります。
・小数の桁数が0の場合
-79228162514264337593543950335 ~ 79228162514264337593543950335

・小数の桁数が28桁の場合
-7.9228162514264337593543950335 ~ 7.9228162514264337593543950335

・一番細かい値(分解能)
0.0000000000000000000000000001
Single単精度浮動小数点型シングル×-340282350000000000000000000000000000000
~ 340282350000000000000000000000000000000
一番細かい値(分解能)
0.00000000000000000000000000000000000000000001401298
Double倍精度浮動小数点型ダブル×-17976931348623157000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
0000000000000000000000000

179769313486231570000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000
一番細かい値(分解能)
0.00000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000494065645841246544
Date日付型デイト---0001年1月1日 0:00:00 ~ 9999年12月31 日 23:59:59
Objectオブジェクト型オブジェクト---(任意の型を格納できます)
String文字列型ストリング---0 個 ~ 約 20 億個の文字 (Unicode)

  • 小数 … 小数が表現できるかを示しています。数値型以外の型には関係ありません。
  • 負数 … 負の数(ゼロより小さい数、マイナス)が表現できるかを示しています。数値型以外の型には関係ありません。
  • 正確 … 正確な値を示すことができるかを表しています。×の場合は値に誤差が発生します。金額の計算など値の正確さが重要な場合はこの項目が×になっている型(Single, Double)は使用しないでください。数値型以外の型には関係ありません。

誤差の例

Dim Value As Single = 0.05

Value += 0.05  '0.05 ×2 = 0.1  になるはず。
Value += 0.05  '0.05 ×3 = 0.15 になるはず。
Value += 0.05  '0.05 ×4 = 0.2  になるはず。
Value += 0.05  '0.05 ×5 = 0.25 になるはず。
Value += 0.05  '0.05 ×6 = 0.3  になるはず。
Value += 0.05  '0.05 ×7 = 0.35 になるはず。
Value += 0.05  '0.05 ×8 = 0.4  になるはず。
Value += 0.05  '0.05 ×9 = 0.45 になるはず。
Value += 0.05  '0.05 ×10= 0.5  になるはず。
MsgBox(Value)  '←0.5000001と表示される
■リスト1:

数値にはどれを使うべきか?

通常の数値にはIntegerを使用します。値が正確でパフォーマンスにも優れているからです。

小数が必要な場合にはDecimalを使用します。値が正確だからです。

その他のいくつかの場合については、適切な型の使用例を挙げておきます。

金額・数量Decimal
科学的な計算(細かい誤差が許容できる場合)Double
バイナリデータByte
文字を数値で表現する場合Byte, Char
巨大な桁数の整数。(正確さ・パフォーマンス重視)Long
巨大な桁数の数値。(正確さ重視。パフォーマンスは多少悪くても良い場合)Decimal
巨大な桁数の数値。(パフォーマンス重視。細かい誤差は許容できる場合)Double
Integer

参考

VBデータ型の一覧