Visual Basic 図解 基礎解説 |
|
この記事が対象とする製品・バージョン
|
◎ | 対象です。 |
|
◎ | 対象です。 |
|
◎ | 対象です。 |
|
× | 対象外です。 |
概要・データ型の概要を表形式で掲載します。 |
この表は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以降) |
Decimal | 10進型 デシマル |
○ | ○ | ○ | ※小数の桁数によって異なります。 ・小数の桁数が0の場合 ・小数の桁数が28桁の場合 ・一番細かい値(分解能) |
Single | 単精度浮動小数点型 シングル |
○ | ○ | × | -340282350000000000000000000000000000000 〜 340282350000000000000000000000000000000 一番細かい値(分解能) |
Double | 倍精度浮動小数点型 ダブル |
○ | ○ | × | -17976931348623157000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000 0000000000000000000000000 〜 179769313486231570000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000 000000000000000000000000 一番細かい値(分解能) |
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と表示される
メモ - 数値にはどれを使うべきか? 通常の数値にはIntegerを使用します。値が正確でパフォーマンスにも優れているからです。 小数が必要な場合にはDecimalを使用します。値が正確だからです。 その他のいくつかの場合については、適切な型の使用例を挙げておきます。
|
この表は各データ型に関する付加的な情報です。
VB | .NET Framework | 公称サイズ | ※1 | ※2 | 備考 |
---|---|---|---|---|---|
Boolean | System.Boolean | 2 バイト | |||
Byte | System.Byte | 1 バイト | |||
Char | System.Char | 2 バイト | c | ||
Short | System.Int16 | 2 バイト | S | ||
Integer | System.Int32 | 4 バイト | % | I | パフォーマンスが最も良い(32ビットCPUの場合) |
Long | System.Int64 | 8 バイト | & | L | |
Sbyte | System.SByte | 1 バイト | |||
UShort | System.UInt16 | 2 バイト | US | ||
UInteger | System.UInt32 | 4 バイト | UI | ||
ULong | System.UInt64 | 8 バイト | UL | ||
Decimal | System.Decimal | 16 バイト | @ | D | パフォーマンスが最も悪い。 0 を除いた場合の絶対値の最小値は 0.0000000000000000000000000001 (1E-28) |
Single | System.Single | 4 バイト | ! | F | 値の範囲 負の場合:-3.4028235E+38 〜 -1.401298E-45 正の場合:1.401298E-45 〜 3.4028235E+38 |
Double | System.Double | 8 バイト | # | R | 値の範囲 負の場合: 正の場合: |
Date | System.DateTime | 8 バイト | #で囲んだリテラルはDate型と看做されます。 | ||
Object | System.Object | 4 バイト | |||
String | System.String | $ | "で囲んだリテラルはString型と看做されます。 |
公称サイズ … サイズは実際のメモリ使用量とは異なります。実際のメモリ使用量は環境によって異なります。
※1 … 変数を宣言するときにこの文字を使用できます。例:Decimal型の変数を宣言する場合 Dim Value@ という書き方が可能。
※2 … リテラルの型を指定するときに使用できます。例:Long型のリテラルを記述する場合 Value = 100L
VBで用意されていない型でも .NET Frameworkの構造体・クラスとして利用することは可能です。以下にいくつかの例を示します。
ただし、これらの型を使用する場合は通常の型のような型変換機能などが使いにくいので通常は使わない方が良いでしょう。
構造体 | 読み方 | サイズ | 値の範囲 |
---|---|---|---|
System.SByte | エスバイト | 1 バイト | -128 〜 127 |
System.UInt16 | ユーイント16 | 2 バイト | 0 〜 65535 |
System.UInt32 | ユーイント32 | 4 バイト | 0 〜 4294967295 |
System.UInt64 | ユーイント64 | 8 バイト | 0 〜 18446744073709551615 |
System.IntPtr | イントピーティーアール | (環境に依存) | |
System.UIntPtr | ユーイントピーティーアール | (環境に依存) |
※SByte, UInt16, UInt32, UInt64はVB2005からはVBの型として使用可能です。