数値タイプの結合および分割時の注意

数値タイプからデータの抽出を行う場合、数値タイプを一度前ゼロ詰めの10進数に変換します。この変換後のデータはMタイプの扱いとなります。変換される数字の桁数は、入力のタイプによって異なります。詳細については「数値タイプから文字タイプへの変換の注意」を参照してください。

注意

数値タイプを、結合または分割して数値タイプに出力する場合、データ加工情報―オプション設定の「文字→数値変換をエラーとする」および「数値→文字変換をエラーとする」が設定されていないことを確認してください。

以下の説明ではデータ加工情報の「文字→数値変換をエラーとする」が設定されていないものとします。また、入力フォーマット情報の「パック10進数設定」の「出力時の扱い」の「符号部(正)」は"C"、「ゾーン10進数設定」の「ゾーン部」は"3"、「出力時の扱い」の「符号部(負)」は"5"が指定されているものとします。

(1) Bタイプの分割

Bタイプ項目(2バイト)のデータの2バイト目から3バイト抽出する例です。

図9.22 数値タイプデータ分割例1

(2) Fタイプの分割

Fタイプ項目(4バイト)のデータの一部を抽出する例です。整数部、小数部ともに、数字の部分のみを抽出した場合には整数部として扱われます。

図9.23 数値タイプデータ分割例2

(3) Bタイプの結合(小数部なし)

Bタイプ(2バイト)の項目2つを結合する例です。

図9.24 数値タイプデータ結合例1

(4) Bタイプの結合(小数部あり)

Bタイプ(2バイト)の項目2つを結合する例です。小数部が存在する複数のデータを結合した場合、小数点がデータ内に複数存在してしまうため、数値タイプへの変換がエラーとなります。

図9.25 数値タイプデータ結合例2

(5) PタイプとSタイプの結合

Pタイプ(3バイト)の項目とSタイプ(5バイト)の項目を結合する例です。負の値を持つデータを結合順序が2番目以降の項目として結合した場合、マイナス記号がデータの途中に現れてしまうため、数値タイプへの変換がエラーとなります。マイナス記号がデータ内に複数存在する場合も同様です。

図9.26 数値タイプデータ結合例3

(6) 9タイプとFタイプの結合

9タイプ(1バイト)の項目とFタイプ(4バイト)の項目を結合する例です。数値タイプの項目には、数字に変換した際に桁数が大きくなるものがあるため、出力のサイズに注意する必要があります。

図9.27 数値タイプデータ結合例4