형식 문자열 매개변수

문자열 형식 지정 루틴에 전달되는 형식 문자열에는 리터럴 문자와 형식 지정자 등 두 가지 유형의 객체가 포함됩니다. 리터럴 문자는 결과 문자열에 복사됩니다. 형식 지정자는 지정된 등록정보에서 등록정보 값을 가져온 다음 형식 지정을 적용합니다. 형식 문자열에는 하나의 지정자만 있습니다.

형식 지정자는 다음과 같은 형식을 사용합니다.

"%"["-"][width]["."prec]type

표 11-1 형식 문자열 문자

문자 설명

%

형식 지정자의 시작을 나타냅니다.

["—"]

왼쪽 맞춤 표시기입니다(선택 사항).

값 뒤에 공백을 추가하여 결과를 왼쪽에 맞춥니다. 기본값은 값 앞에 공백을 추가하여 결과를 오른쪽에 맞추는 것입니다.

[width]

너비 지정자입니다(선택사항).

변환의 최소 필드 너비를 설정합니다. 결과 문자열이 최소 필드 너비보다 짧으면 필드 너비를 늘리기 위해 공백이 채워집니다.

["." prec]

정밀도 지정자입니다(선택사항).

type

변환 유형 문자입니다.

변환 문자는 대문자 또는 소문자로 지정할 수 있습니다. 모든 부동 소수점 형식의 경우 소수 구분자와 천단위 구분자로 사용되는 실제 문자는 DecimalSeparator 및 ThousandSeparator 글로벌 변수 또는 동등한 TFormatSettings 항목에서 가져옵니다. type에 적합한 값은 다음 표에 나와 있습니다.

표 11-2 형식 문자열 유형 값

유형 값 설명

d

10진수

등록정보 값이 정수여야 합니다. 값이 10진수 문자열로 변환됩니다. 형식 문자열에 정밀도 지정자가 포함된 경우 결과 문자열에 지정된 자릿수 이상이 포함되어야 함을 나타냅니다. 값의 자릿수가 더 적으면 결과 문자열의 왼쪽에 0이 채워집니다.

u

부호 없는 10진수

d와 유사하지만 부호가 출력되지 않습니다.

e

지수

등록정보 값이 부동 소수점 값이어야 합니다. 값이 "-d.ddd...E+ddd" 형태의 문자열로 변환됩니다. 숫자가 음수인 경우 결과 문자열이 빼기 기호로 시작됩니다. 소수점 앞에 항상 한 자릿수가 옵니다. 결과 문자열의 총 자릿수(소수점 앞의 한 자릿수 포함)는 형식 문자열의 정밀도 지정자에 의해 지정됩니다. 정밀도 지정자가 없으면 기본 정밀도 15가 사용됩니다. 결과 문자열의 "E" 지수 문자 뒤에는 항상 더하기 또는 빼기 기호와 세 자릿수 이상이 옵니다.

f

고정

등록정보 값이 부동 소수점 값이어야 합니다. 값이 "-ddd.ddd..." 형태의 문자열로 변환됩니다. 숫자가 음수인 경우 결과 문자열이 빼기 기호로 시작됩니다. 소수점 뒤의 자릿수는 형식 문자열의 정밀도 지정자에 의해 지정됩니다. 정밀도 지정자가 없으면 기본값인 두 자릿수가 사용됩니다.

g

일반

등록정보 값이 부동 소수점 값이어야 합니다. 값이 고정 또는 과학적 형식을 사용하여 가능한 가장 짧은 10진수 문자열로 변환됩니다. 결과 문자열의 유효 자릿수는 형식 문자열의 정밀도 지정자에 의해 지정됩니다. 정밀도 지정자가 없으면 기본 정밀도 15수가 사용됩니다. 결과 문자열에서 후행 0이 제거되고 필요한 경우에만 소수점이 나타납니다. 값의 소수점 왼쪽 자릿수가 지정된 정밀도보다 작거나 같은 경우 및 값이 0.00001보다 크거나 같은 경우 결과 문자열이 고정 소수점 형식을 사용합니다. 그렇지 않으면 결과 문자열이 과학적 형식을 사용합니다.

n

Number

등록정보 값이 부동 소수점 값이어야 합니다. 값이 "-d,ddd,ddd.ddd..." 형태의 문자열로 변환됩니다. "n" 형식은 결과 문자열에 천단위 구분자가 포함된다는 점을 제외하고 "f" 형식과 같습니다.

m

화폐

등록정보 값이 부동 소수점 값이어야 합니다. 값이 통화 금액을 나타내는 문자열로 변환됩니다. 변환은 CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator 및 CurrencyDecimals 글로벌 변수 또는 TFormatSettings 데이터 구조의 동등한 항목에 의해 제어됩니다. 형식 문자열에 정밀도 지정자가 포함된 경우 CurrencyDecimals 글로벌 변수 또는 동등한 TFormatSettings 항목에 의해 지정된 값을 재정의합니다.

s

String

등록정보 값이 문자, 문자열 또는 PChar 값이어야 합니다. 형식 지정자 대신 문자열 또는 문자가 삽입됩니다. 형식 문자열에 있는 경우 정밀도 지정자는 결과 문자열의 최대 길이를 지정합니다. 등록정보 값이 이 최대값보다 긴 문자열이면 문자열이 잘립니다.

x

16진수

등록정보 값이 정수 값이어야 합니다. 값이 16진수 문자열로 변환됩니다. 형식 문자열에 정밀도 지정자가 포함된 경우 결과 문자열에 지정된 자릿수 이상이 포함되어야 함을 나타냅니다. 값의 자릿수가 더 적으면 결과 문자열의 왼쪽에 0이 채워집니다.