ISO2002ENTMF 

TEST-NUMVAL-C

TEST-NUMVAL-C 関数は、argument-1 の内容が NUMVAL-C 関数の仕様に準拠しているかどうかを検証する。

この関数の型は整数である。

一般形式

引数

  1. argument-1 は、英数字か各国文字の定数、または字類が英数字か各国文字のデータ項目とし、形式は次のいずれかとする。

    書き方 1:

    >>-.-------.--.-----.--.-------.--.----.--.-------.--------------> +-space-+ +- + -+ +-space-+ +-cs-+ +-space-+ +- - -+ >--.-digit--.---------------.--.--------------.-.--.-------.----->< | | +----------+ | +-.--.-------.-+ | +-space-+ | | V | | +-digit + | | +-.-,--digit-.--+ | +-.--digit-----------------------------------+

    書き方 2:

    >>-.-------.--.----.--.-------.----------> +-space-+ +-cs-+ +-space-+ >--.-digit--.---------------.--.--------------.-.--.-------.-----> | | +----------+ | +-.--.-------.-+ | +-space-+ | | V | | +-digit-+ | | +-.-,--digit-.--+ | +-.--digit-----------------------------------+ >--.-----.--.-------.-------------------------------------------->< +- + -+ +-space-+ +- - -+ +--CR-+ +--DB-+

    詳細は次のとおり。

    space
    1 つ以上の空白文字の文字列。
    cs
    通貨記号を表す 1 つ以上の文字の文字列。argument-1 に含める通貨記号は 1 つだけとする。
    digit
    1 桁以上の数字の文字列。特殊名段落で DECIMAL-POINT IS COMMA 句を指定した場合は、カンマと小数点の機能が逆転する。
  2. argument-2 は、通貨値を表す文字列とする。
  3. argument-2 は次の規則に準拠する必要がある。
    • プログラムに複数の CURRENCY SIGN 句が含まれる場合は必須とする。
    • argument-1 と同じ字類とする。
    • 値に 0 から 9 の数字、先行空白文字、後続空白文字、特殊文字「+」、「-」、「.」、「,」を含めることはできない。
    • 長さは 0 から argument-2 の字類の基本データ項目または集団データ項目に許容される長さまでとする。
    • 照合する際は大文字と小文字が区別される。

戻り値

  1. argument-1 の値が NUMVAL-C 関数で指定された規則に従っている場合、値 0 が返される。
  2. argument-1 に仕様に準拠していない文字が 1 つ以上含まれている場合、問題のある最初の文字の値が返される。
    注: 数字の文字列に空白文字が 1 つ以上含まれている場合、1 桁以上の数字の後に続く 1 つ以上の空白文字は有効であるため、戻り値は空白の後に続く空白以外の最初の文字の位置になる。たとえば、argument-1 が「0 1」の場合、戻り値は 3 になる。
  3. これらのいずれにも該当しない場合、戻り値は (FUNCTION LENGTH (argument-1) +1) になる。この値になる可能性がある状況は次のとおり。
    • argument-1 の長さがゼロである。
    • argument-1 に空白文字しか含まれていない。
    • argument-1 に有効な文字が含まれているが不完全である。