若不想直接輸出列印,而是將任意數量變數拼接成完整字串,Pascal 提供三種主流實作方式:
專用轉換函式拼接
***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:浮點數,保留四位小數;%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)
