formatNumber()

strLib.formatNumber() システム関数は、フォーマット設定されたストリングとして数値を戻します。

フォーマット・ストリングの構成方法について詳しくは、数値フォーマット記号を参照してください。

構文

  strLib.formatNumber(
    value SMALLINT? | INT? | BIGINT? | DECIMAL? |
              MONEY? | SMALLFLOAT? | FLOAT? in
     [ , numericFormat STRING? in] )
  returns (result STRING?)
value
フォーマット設定される数値 (上記のいずれかの型と代入互換性を持つもの)。
numericFormat
数値をフォーマットする方法を定義するストリング。numericFormat が NULL、空、または未指定の場合は、以下の規則が適用されます。
  1. MONEY 型の数値の場合、EGL は strLib.defaultMoneyFormat 変数を使用して値をフォーマット設定します。
  2. 浮動小数点型を除くこの他のすべての型について、EGL では、strLib.defaultNumericFormat 変数を使用して値をフォーマットします。
  3. デフォルトのフォーマット・ストリングが空であるか、数値が浮動小数点型である場合、 EGL はそれを小数点のない数字のストリングとしてフォーマット設定します (以下の例外があります)。
    • 負の数値には先頭に符号が付きます。
    • 小数点以下の桁がある数値には、decimalSymbol ビルド記述子オプションの値が組み込まれます。
    • MONEY 型の数値には、currencyLocation ビルド記述子オプションで指定された位置に、 currencySymbol ビルド記述子オプションの値が組み込まれます。
    • 浮動小数点数は、指数表記で記述することができます。
  4. EGL がフォーマット・ストリングを検出したものの、それを使用して所定の数値を処理できなかった場合、 結果は、アスタリスクのストリングになります。
デフォルトのフォーマット変数について詳しくは、 defaultMoneyFormat (EGL システム変数)および defaultNumericFormat (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)

互換性

表 1. formatNumber() の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 浮動小数点数をフォーマット設定する場合は、 フォーマットを指定できません。第 2 パラメーターを持つ関数を呼び出すと、検証エラーを受け取ります。
JavaScript 生成 関数 strLib.formatNumber() はサポートされていません。

フィードバック