formatNumber()

strLib.formatNumber() 시스템 함수는 숫자를 형식화된 문자열로 리턴합니다.

형식 문자열 생성 방법에 대한 자세한 정보는 숫자 형식화 기호의 내용을 참조하십시오.

구문

  strLib.formatNumber(
    value SMALLINT? | INT? | BIGINT? | DECIMAL? |
              MONEY? | SMALLFLOAT? | FLOAT? in
     [ , numericFormat STRING? in] )
  returns (result STRING?)
value
표시된 유형 중 하나와 지정 호환 가능한 형식화할 숫자 값입니다.
numericFormat
숫자 형식화 방법을 정의하는 문자열입니다. numericFormat이 널이거나, 비어 있거나, 지정되지 않은 경우 다음 규칙이 적용됩니다.
  1. MONEY 유형 숫자의 경우 EGL이 strLib.defaultMoneyFormat 변수를 사용하여 값을 형식화합니다.
  2. 부동 소수점 유형 이외의 기타 모든 유형에서는 EGL이 strLib.defaultNumericFormat 변수를 사용하여 값을 형식화합니다.
  3. 기본 형식 문자열이 비어 있거나 숫자가 부동 소수점 유형인 경우 EGL은 문장 부호가 없는 숫자의 문자열로 이를 형식화하며 다음 경우는 예외입니다.
    • 음수에 선행 기호가 있습니다.
    • 소수점 뒤에 숫자가 있는 수는 decimalSymbol 빌드 디스크립터 옵션의 값을 포함합니다.
    • MONEY 유형 숫자는 currencyLocation 빌드 디스크립터 옵션으로 지정된 위치에 currencySymbol 빌드 디스크립터 옵션의 값을 포함합니다.
    • 부동 소수점 숫자를 지수 표기법으로 쓸 수 있습니다.
  4. EGL이 형식 문자열을 찾았으나 이를 사용하여 주어진 수를 처리할 수 없는 경우 별표 문자열이 표시됩니다.
기본 형식 변수에 대한 자세한 정보는 defaultMoneyFormat(EGL 시스템 변수), defaultNumericFormat(EGL 시스템 변수)의 내용을 참조하십시오. 빌드 디스크립터 옵션에 대한 자세한 정보는 다음 주제를 참조하십시오.
result
STRING 값입니다. value가 널인 경우에는 함수가 널값을 리턴합니다.

예제

다음 예제는 급료 수표에 인쇄하기 위해 형식화된 DECIMAL 수를 표시합니다.

  myNum DECIMAL(9,2) = -27459.01;
  myFormat STRING = "(*,***,###.##)";
  result STRING;
  
  result = strLib.formatNumber(myNum,myFormat);
  // result is (***27,459.01)

호환성

표 1. formatNumber()의 호환성 고려사항
플랫폼 문제
COBOL 생성 부동 소수점 수를 형식화하는 경우 형식을 지정할 수 없습니다. 두 번째 매개변수가 있는 함수를 호출하면 유효성 검증 오류가 수신됩니다.
JavaScript 생성 strLib.formatNumber() 함수는 지원되지 않습니다.