ITONUM - 整数を倍精度小数点数フォーマットに変換

ITONUM 関数は、FOCUS 以外のデータソースの整数を、倍精度浮動小数点数フォーマットに変換します。

プログラミング言語や FOCUS 以外のデータベースには、整数フォーマットを使用するものがあります。ただし、(5 バイト長以上の) 整数はマスターファイルではサポートされません。このため、倍精度フォーマットへの変換が必要になります。

入力フィールド内の最も右側から数えた有効バイト数を指定する必要があります。結果は、8 バイトの倍精度浮動小数点数フィールドです。

整数を倍精度浮動小数点数フォーマットに変換

ITONUM(maxbytes, infield, output)

説明

maxbytes

数値

2 進数符号を含めた有効数値データの 8 バイト 2 進入力フィールドの最大バイト数です。有効な値には、次のものがあります。

5 - 左から 3 バイトを無視します。

6 - 左から 2 バイトを無視します。

7 - 左から 7 バイトを無視します。

infield

A8

2 進数を含むフィールドです。このフィールドの USAGE および ACTUAL フォーマットは、どちらも A8 である必要があります。

output

倍精度浮動小数点数 (Dn)

結果を格納するフィールド名、または出力フォーマットです。フォーマットは一重引用符 (') で囲みます。フォーマットは Dn である必要があります。

整数を倍精度小数点数フォーマットに変換

外部ファイルの 2 進数のフォーマットが次の COBOL フォーマットであることを想定します。

PIC 9(8)V9(4) COMP

これは、EUROCAR マスターファイルの「BINARYFLD」という名前のフィールドに定義されています。このフィールドのフォーマットは、USAGE=A8、ACTUAL=A8 です。これは、このフィールドの長さが 4 バイトを超えるためです。

次のリクエストは、フィールドを倍精度フォーマットに変換します。

DEFINE FILE EUROCAR
MYFLD/D14 = ITONUM(6, BINARYFLD, MYFLD);
END
TABLE FILE EUROCAR
PRINT MYFLD BY CAR
END