델파이 문자열 포맷 함수 종류 및 예시
델파이 문자열 포맷 함수 종류 및 예시
델파이에서 문자열을 특정 형식으로 만들거나(포맷팅), 다른 데이터 타입을 문자열로 변환하는 함수들은 주로 SysUtils
유닛에 있습니다.
사용해야 할 PAS 유닛
uses SysUtils;
주요 문자열 포맷/변환 함수 및 예시
Format
함수
기능: 지정된 포맷 문자열과 인자 목록을 사용하여 포맷된 문자열을 생성합니다. 가장 유연한 문자열 포맷 기능을 제공합니다.
형식 지정자 예시: %s
(문자열), %d
(정수), %f
(실수), %n
(통화), %x
(16진수) 등
예시:
예시 종류 | 예시 내용 (설명, 코드, 결과) |
---|---|
기본 포맷 | 기본적인 문자열과 정수를 포맷합니다. Name := '홍길동'; Age := 30; FormattedString := Format('이름: %s, 나이: %d', [Name, Age]); ShowMessage(FormattedString); 결과: 이름: 홍길동, 나이: 30 |
실수 포맷 | 실수를 소수점 이하 첫째 자리까지 표시합니다. Height := 175.5; FormattedString := Format('키: %.1f cm', [Height]); 결과: 키: 175.5 cm |
통화 포맷 (%n) | 통화 형식으로 포맷합니다 (시스템 설정 따름). Money := 12345.67; FormattedString := Format('금액: %n', [Money]); 결과 예시: 금액: ₩12,345.67 (한국 설정 시) |
통화 포맷 (%m) | 통화 형식으로 포맷하며 소수점 이하 2자리를 강제합니다. Money := 12345.67; FormattedString := Format('금액 (강제 2자리): %m', [Money]); 결과 예시: 금액 (강제 2자리): ₩12,345.67 |
16진수 포맷 | 정수를 16진수 문자열로 포맷합니다. FormattedString := Format('정수 (16진수): %x', [255]); 결과: 정수 (16진수): FF |
너비 지정 (우측 정렬) | 문자열을 10칸 너비에 우측 정렬하여 포맷합니다. Name := '홍길동'; FormattedString := Format('이름 (10칸 우측 정렬): %10s', [Name]); 결과 예시: 이름 (10칸 우측 정렬): 홍길동 |
너비 지정 (좌측 정렬) | 문자열을 10칸 너비에 좌측 정렬하여 포맷합니다. Name := '홍길동'; FormattedString := Format('이름 (10칸 좌측 정렬): %-10s', [Name]); 결과 예시: 이름 (10칸 좌측 정렬): 홍길동 |
복합 포맷 | 여러 인자와 다양한 형식을 함께 사용하여 포맷합니다. Name := '홍길동'; Age := 30; Height := 175.5; FormattedString := Format('종합 정보: 이름=%s, 나이=%d, 키=%.2f', [Name, Age, Height]); 결과 예시: 종합 정보: 이름=홍길동, 나이=30, 키=175.50 |
타입 변환 함수 (데이터 타입을 문자열로)
이 함수들은 특정 데이터 타입의 값을 해당 타입의 기본 문자열 표현으로 변환해 줍니다. 간단한 변환에 유용합니다.
IntToStr
함수
기능: Integer 값을 문자열로 변환합니다.
예시:
var
Count: Integer;
CountStr: string;
begin
Count := 123;
CountStr := IntToStr(Count);
ShowMessage('카운트: ' + CountStr); // 결과 예시: 카운트: 123
end;
FloatToStr
함수
기능: 부동 소수점 값을 문자열로 변환합니다. 시스템 설정을 따릅니다.
예시:
var
Value: Double;
ValueStr: string;
begin
Value := 123.456;
ValueStr := FloatToStr(Value);
ShowMessage('값: ' + ValueStr); // 결과 예시: 값: 123.456 (시스템 설정에 따라 다를 수 있음)
end;
FloatToStrF
함수
기능: 부동 소수점 값을 지정된 포맷과 정밀도로 문자열로 변환합니다.
포맷 종류 예시: ffCurrency
, ffFixed
, ffExponent
등
예시:
var
Value: Double;
ValueStr: string;
begin
Value := 123.45678;
// 소수점 이하 2자리 고정 형식
ValueStr := FloatToStrF(Value, ffFixed, 10, 2); // 값, 형식, 전체 자릿수, 소수점 이하 자릿수
ShowMessage('고정 형식: ' + ValueStr); // 결과 예시: 고정 형식: 123.46
// 통화 형식 (시스템 설정 따름)
ValueStr := FloatToStrF(Value, ffCurrency, 10, 2);
ShowMessage('통화 형식: ' + ValueStr); // 결과 예시: 통화 형식: ₩123.46 (한국 설정 시)
end;
DateToStr
, TimeToStr
, DateTimeToStr
함수
기능: TDateTime
날짜 또는 시간 값을 시스템 기본 형식의 문자열로 변환합니다. (SysUtils
에 있으며, 날짜/시간 관련 함수입니다.)
예시:
var
DT: TDateTime;
DateStr, TimeStr, DateTimeStr: string;
begin
DT := Now;
DateStr := DateToStr(DT);
TimeStr := TimeToStr(DT);
DateTimeStr := DateTimeToStr(DT);
ShowMessage('날짜: ' + DateStr);
ShowMessage('시간: ' + TimeStr);
ShowMessage('날짜 시간: ' + DateTimeStr);
end;
BoolToStr
함수
기능: Boolean 값을 문자열 ('TRUE' 또는 'FALSE' 또는 지정한 문자열)로 변환합니다.
예시:
var
IsActive: Boolean;
StatusStr: string;
begin
IsActive := True;
StatusStr := BoolToStr(IsActive); // 결과 예시: 'TRUE' 또는 '참'
ShowMessage('상태 1: ' + StatusStr);
StatusStr := BoolToStr(IsActive, True); // 두 번째 인자가 True이면 0/1 반환 (1)
ShowMessage('상태 2: ' + StatusStr); // 결과 예시: '1'
StatusStr := BoolToStr(IsActive, '활성', '비활성'); // True/False 시 문자열 직접 지정
ShowMessage('상태 3: ' + StatusStr); // 결과 예시: '활성'
end;
Format
함수는 다양한 인자를 받아 복잡한 포맷을 적용할 때 주로 사용되며, IntToStr
, FloatToStr
같은 함수들은 특정 타입의 값을 간단히 문자열로 변환할 때 편리하게 사용할 수 있습니다.