データ項目(データ型)
データ長
COBOLのデータは文字データも数値データも固定長が一般的で、数値は二進化十進数 (BCD、Binary-coded decimal )を使います。
これに対してVB.NETは可変長が一般的です。
数値
VB.NETではDecimal型データでCOBOLの二進化十進数と同等の精度が得られます。
文字
COBOL
固定長です。文字が定義長未満だと末尾に空白が充填されます。
VB.NET
可変長です。
Unicodeが標準です。
Null(Nothing)が有ります。
注)
COBOL:浮動小数点(COMP-1,COMP-2)のような可変長数値を使うことも稀にあります。
VB.NET:固定長ファイルを扱うとき固定長の文字列を使います。
VB.NETのデータ定義
使い捨てデータ定義ができる。
COBOLではDATA DIVISIONで定義し、プログラム内で共通してデータを使いますが、VB.NETではプロシジャ内・ブラック内でのみ使える使い捨てのデータ定義が使えます。大きなソースプログラムを作成するときなどデータ定義を追加や確認したりせずにその場限りのデータ名を使えるので便利です。
プログラム内共通データ定義
COBOLのデータ項目と同じようにソースの冒頭に配置し、プログラム内で共通して使えます。。
Dim A As String
Private B As String '.....................冒頭のみ可
Private Read Only C As String = "123" '...同上、固定値
Public D As String '......................同上、親プログラムから参照変更
Protect E As String '.....................同上、親プログラムから参照
Friend F As String '......................同上、プロジェクト内
'以上はプログラム内で参照変更が可能
Main
Dim X As String
'Main...End Sub間で有効
End Sub
使い捨てデータ定義
COBOLには同等の機能は有りません。
同じ変数名が複数プログラム内に有ってもかまいません。
プロシジャ内
Private Sub P1()
Dim A as String
'Sub...End Sub間のみ有効
End Sub
ブロック内
If...Then
Dim A as String
'If...Else間のみ有効
Else
Dim A as String
'Else...End If間のみ有効
End If
For i As Integer = 1 To 5
Dim A As String
'For...Next間のみ有効
Next
| COBOL | ||||
| 型(タイプ) | 分類 | 内容 | 内容 | 備考 |
| COMP-1 | 数値 | 単精度浮動小数点 | ||
| COMP-2 | 倍精度浮動小数点 | |||
| PIC S9(18) COMP-3 | 十進数値(BCD) | 18桁 | ||
| PIC 9(4) COMP-4 | 整数 | |||
| PIC 9(9) COMP-5 | 整数 | |||
| PIC X. | 文字 | |||
| VB.NETのデータ型 | ||||
| 型 (タイプ) | 分類 | 内容 | 備考 | |
| Byte | 数値 | 整数 | 符号なし 1 バイト | 0 ~ 255 |
| Short | 符号あり 2 バイト | -32768 ~ 32767 | ||
| Integer | 符号あり 4 バイト | -231 ~ 231-1 | ||
| Long | 符号あり 8 バイト | -263 ~ 263-1 | ||
| Single | 浮動小数点 | IEEE754 準拠 4 バイト | ±1.5-45 ~ ±3.438 | |
| Double | IEEE754 準拠 8 バイト | ±5.0-324 ~ ±1.7308 | ||
| Decimal | 10 進数データ型 | ±1.0-28 ~ ±7.928 | ||
| Char | 文字 | Unicode文字(1 文字、2 バイト) | 常に 1 文字 | |
| String | Unicode 文字列 | 0 文字以上の可変長 | ||
| Boolean | その他 | 論理型 | 値は True か False | |
| Date | 8 バイト長の日付/時間データ | 西暦 1 年 ~ 9999 年 | ||
| Object | 汎用データ型 | |||
お役に立てましたか?
IT、プログラミングのランキングサイトはこちらです。
最新記事の自動受信登録はこちらです。 |
![]() |
![]() |
![]() |
![]() |
| 固定リンク







コメント