직접 인쇄하지 않고 임의 개수의 변수를 연결해 완전한 문자열로 합치고 싶은 경우, 파스칼에는 주요 구현 방식이 세 가지 제공됩니다.
전용 변환 함수로 문자열 연결
***ToStr + 문자열 + 연결 연산
전용 변환 함수로 단일 자료형을 따로 변환한 뒤 + 연산자로 문자열을 합칩니다.
uses SysUtils;
var
MyInt: Integer;
MyStr: string;
begin
MyInt := 123;
MyStr := 'My int number is ' + IntToStr(MyInt) + ', and the value of Pi is ' + FloatToStr(Pi);
end;Code language: JavaScript (javascript)
자주 쓰는 보조 함수 (모든 함수는 SysUtils 유닛에 포함):
- 숫자 → 문자열:
IntToStr,FloatToStr,FormatFloat(부동 소수점 형식 커스터마이징) - 문자열 → 숫자 복원:
StrToInt,StrToIntDef,StrToFloat
전체 실행 가능 예제
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
{$ifdef MSWINDOWS} {$apptype CONSOLE} {$endif}
uses SysUtils;
var
MyInt: Integer;
MyStr: string;
begin
MyInt := 180;
MyStr := 'My int number is ' + IntToStr(MyInt) + ', and the value of Pi is ' + FloatToStr(Pi);
WriteLn(MyStr);
end.Code language: PHP (php)

장점
- 유연성이 매우 높고 정수, 부동 소수점, 날짜 등 대부분의 자료형을 지원하는 세분화된 함수가 준비되어 있음;
- 역변환 함수가 완비되어 사용자 입력 문자열을 파싱할 때 편리함.
단점
변수가 많아지면 여러 겹의 + 연결 구문이 길어져 가독성이 떨어집니다.
서식 함수 Format
Format (C언어의 sprintf와 유사한 방식)
기본 문법
uses SysUtils;
var
Res: string;
MyInt: Integer;
MyFloat: Double;
MyString: string;
begin
Res := Format('%d %.4f %s', [MyInt, MyFloat, MyString]);
end;Code language: JavaScript (javascript)
%d: 정수 자리 표시자;%.4f: 부동 소수점, 소수점 4자리 유지;%s: 문자열 자리 표시자- 두 번째 매개변수는상수 배열로 순서대로 자리 표시자에 값을 채움
전체 예제
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
{$ifdef MSWINDOWS} {$apptype CONSOLE} {$endif}
uses SysUtils;
var
Res: string;
MyInt: Integer;
MyFloat: Double;
MyString: string;
begin
// set value
MyInt := 169;
MyFloat := 0.618;
MyString := 'foxdevelop.com';
Res := Format('%d %.4f %s', [MyInt, MyFloat, MyString]);
WriteLn(Res);
end.Code language: PHP (php)

장점
- 서식 템플릿과 데이터가 분리되어 구조가 깔끔함; 소프트웨어 다국어 지원 시 템플릿 문자열만 수정하면 되고 변수 목록은 변경할 필요 없음;
- 컴파일러의 숨겨진 특수 로직이 없음.
array of const가변 매개변수를 선언한 사용자 정의 함수로 이 서식 로직을 재사용할 수 있으며 매개변수를 Format에 전달해 처리 위임 가능.
단점
컴파일 시 자리 표시자와 변수 자료형의 일치 여부를 검사하지 않으며, 자료형 불일치 시 런타임에 EConvertError 변환 예외가 발생합니다 (메모리 접근 크래시는 발생하지 않음).
WriteStr
Write 출력 결과를 문자열 변수에 저장
용도: Write/WriteLn와 거의 동일한 동작을 하지만 콘솔에 인쇄하지 않고 결과를 첫 번째 대상 문자열 변수에 저장합니다:
var S: string;
begin
WriteStr(S, 'Pi value: ', Pi:1:4);
end;Code language: JavaScript (javascript)
전체 예제
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
{$ifdef MSWINDOWS} {$apptype CONSOLE} {$endif}
uses SysUtils;
var S: string;
begin
WriteStr(S, 'Pi value: ', Pi:1:4);
WriteLn(S);
end.Code language: PHP (php)

Previous: 출력 및 로그
Next: 유닛 (Units)