formatNumber()
strLib.formatNumber() システム関数は、フォーマット設定されたストリングとして数値を戻します。
フォーマット・ストリングの構成方法について詳しくは、数値フォーマット記号を参照してください。
構文
strLib.formatNumber(
value SMALLINT? | INT? | BIGINT? | DECIMAL? |
MONEY? | SMALLFLOAT? | FLOAT? in
[ , numericFormat STRING? in] )
returns (result STRING?)
- value
- フォーマット設定される数値 (上記のいずれかの型と代入互換性を持つもの)。
- numericFormat
- 数値をフォーマットする方法を定義するストリング。numericFormat が NULL、空、または未指定の場合は、以下の規則が適用されます。
- MONEY 型の数値の場合、EGL は strLib.defaultMoneyFormat 変数を使用して値をフォーマット設定します。
- 浮動小数点型を除くこの他のすべての型について、EGL では、strLib.defaultNumericFormat 変数を使用して値をフォーマットします。
- デフォルトのフォーマット・ストリングが空であるか、数値が浮動小数点型である場合、
EGL はそれを小数点のない数字のストリングとしてフォーマット設定します (以下の例外があります)。
- 負の数値には先頭に符号が付きます。
- 小数点以下の桁がある数値には、decimalSymbol ビルド記述子オプションの値が組み込まれます。
- MONEY 型の数値には、currencyLocation ビルド記述子オプションで指定された位置に、 currencySymbol ビルド記述子オプションの値が組み込まれます。
- 浮動小数点数は、指数表記で記述することができます。
- EGL がフォーマット・ストリングを検出したものの、それを使用して所定の数値を処理できなかった場合、 結果は、アスタリスクのストリングになります。
- result
- STRING 値。value が NULL の場合、関数は NULL 値を戻します。
例
次の例は、給与の印刷用にフォーマット設定された DECIMAL 数値を示します。
myNum DECIMAL(9,2) = -27459.01;
myFormat STRING = "(*,***,###.##)";
result STRING;
result = strLib.formatNumber(myNum,myFormat);
// 結果は (***27,459.01)
互換性
| プラットフォーム | 問題 |
|---|---|
| COBOL 生成 | 浮動小数点数をフォーマット設定する場合は、 フォーマットを指定できません。第 2 パラメーターを持つ関数を呼び出すと、検証エラーを受け取ります。 |
| JavaScript 生成 | 関数 strLib.formatNumber() はサポートされていません。 |