付録B.1 数値(固定小数点数)データの端数処理
ここでは,入力データが数値(固定小数点数)の場合の端数処理について説明します。
入力データの数値が小数の場合,小数点位置を合わせて入力します。入力データ中に小数点がない場合,データの末尾に小数点を仮定して入力します。入力データの桁に過不足がある場合は,桁調整を行った内部データ形式に変換されたあと,比較されます。
入力データの数値の扱いを次に示します。
- 整数部の桁調整
-
-
有効桁数に満たないデータを入力した場合,左側に0(ゼロ)を加えて,有効桁に調整されます。
-
左側が空白(ゼロ抑止)のデータを入力した場合,空白を0(ゼロ)と見なして有効桁に調整されます。
-
有効桁数を超えるデータを入力した場合,左側の桁あふれ部分が無視されます。
-
丸め方法は,環境ファイル(EXS_ROUND),またはroundオプションで指定された方法が適用されます。詳細は「5.8.11 roundオペランド」を参照してください。
-
- 小数部の桁調整
-
-
有効桁数に満たないデータを入力した場合,右側に0(ゼロ)を加えて,有効桁数に調整されます。
-
有効桁数を超えるデータを入力した場合,右側の桁あふれ部分を丸めて,有効桁数に調整されます。ただし,CSV数値データ(固定小数点数)の形式チェックオプション(CSVFRMCHKオプション)を指定した場合は,数字以外を丸めに用いません。有効桁の右隣りから数字以外の文字が出てくるまでが「あふれ部分」と見なされます。
CSVFRMCHKオプション指定時の例を次の表に示します。
入力データ
小数部あふれ部分
(p = 4,s = 1)
解説
999
なし
小数点以下なし
999.
なし
小数点以下なし
999.0
なし
小数点以下2桁目以降なし
999.12
2(1桁)
小数点以下2桁目以降があふれ部分
999.123
23(2桁)
小数点以下2桁目以降があふれ部分
999.12A
2(1桁)
英字の前までがあふれ部分
999.1A3
なし
英字の前まで(数字なし)
-
丸め方法は,環境ファイル(EXS_ROUND),またはroundオプションで指定された方法が適用されます。詳細は「5.8.11 roundオペランド」を参照してください。
-
- ゼロ値の扱い
-
-
入力データがすべて空白文字である場合は,0(ゼロ)として扱われます。
-
符号付きゼロ(+0,-0)と,符号なしゼロ(0)は同じ値として扱われます。
-
- 小数点位置の合わせ方
-
-
データ中に小数点がある場合は,小数点位置を合わせて入力されます。
-
データ中に小数点がない場合は,データの末尾に小数点を仮定して入力されます。
入力データ
小数点位置
説明
小数点あり
.123 1.23 12.3 123.
.123 1.23 12.3 123.3
小数点位置を合わせて入力します。
小数点なし
1 12 123 1234
1. 12. 123. 1234.
データ末尾に小数点を仮定して入力します。
-
入力データが数値の場合の,指定できる有効桁数の指定例を次の表に示します。なお,表中のpおよびsは,-csvkeyのパラメタに対応しています。
入力データ |
有効桁数の指定 |
内部データ形式 |
説明 |
||
---|---|---|---|---|---|
総桁数 (p) |
整数部 (p-s) |
小数部 (s) |
|||
1.234 |
8 |
5 |
3 |
00001.234 |
|
△△12.34 |
6 |
4 |
2 |
0012.34 |
|
12345.67 |
5 |
3 |
2 |
345.67 |
|
1234.5678 |
4 |
0 |
4 |
0.5678 |
|
1.23 |
5 |
1 |
4 |
1.2300 |
|
12.3456 |
3 |
2 |
1 |
12.3 |
|
1234.56 |
4 |
4 |
0 |
1235 |
|
△△△△△ |
4 |
3 |
1 |
000.0 |
|