formatNumber()
strLib.formatNumber() 시스템 함수는 숫자를 형식화된 문자열로 리턴합니다.
형식 문자열 생성 방법에 대한 자세한 정보는 숫자 형식화 기호의 내용을 참조하십시오.
구문
strLib.formatNumber(
value SMALLINT? | INT? | BIGINT? | DECIMAL? |
MONEY? | SMALLFLOAT? | FLOAT? in
[ , numericFormat STRING? in] )
returns (result STRING?)
- value
- 표시된 유형 중 하나와 지정 호환 가능한 형식화할 숫자 값입니다.
- numericFormat
- 숫자 형식화 방법을 정의하는 문자열입니다. numericFormat이
널이거나, 비어 있거나, 지정되지 않은 경우 다음 규칙이 적용됩니다.
- MONEY 유형 숫자의 경우 EGL이 strLib.defaultMoneyFormat 변수를 사용하여 값을 형식화합니다.
- 부동 소수점 유형 이외의 기타 모든 유형에서는 EGL이 strLib.defaultNumericFormat 변수를 사용하여 값을 형식화합니다.
- 기본 형식 문자열이 비어 있거나 숫자가 부동 소수점 유형인
경우 EGL은 문장 부호가 없는 숫자의 문자열로 이를 형식화하며
다음 경우는 예외입니다.
- 음수에 선행 기호가 있습니다.
- 소수점 뒤에 숫자가 있는 수는 decimalSymbol 빌드 디스크립터 옵션의 값을 포함합니다.
- MONEY 유형 숫자는 currencyLocation 빌드 디스크립터 옵션으로 지정된 위치에 currencySymbol 빌드 디스크립터 옵션의 값을 포함합니다.
- 부동 소수점 숫자를 지수 표기법으로 쓸 수 있습니다.
- 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)
호환성
| 플랫폼 | 문제 |
|---|---|
| COBOL 생성 | 부동 소수점 수를 형식화하는 경우 형식을 지정할 수 없습니다. 두 번째 매개변수가 있는 함수를 호출하면 유효성 검증 오류가 수신됩니다. |
| JavaScript 생성 | strLib.formatNumber() 함수는 지원되지 않습니다. |