[SysUtils.pas
功能 返回按指定方式格式化一个数组常量的字符形式
说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解 \索引 \宽度] [\摘要] 类型 Format('x=%d', [12]); //'x=12' //最普通 Format('x==', [12]); //'x= 12' //指定宽度 Format('x=%f', [12.0]); //'x=12.00' //浮点数
Format('x=%.3f', [12.0]); //'x=12.000' //指定小数
Format('x=%.*f', [5, 12.0]); //'x=12.00000' //动态配置 Format('x=%.5d', [12]); //'x=00012' //前面补充0 Format('x=%.5x', [12]); //'x=0000C' //十六进制
Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引 Format('x=%p', [nil]); //'x=00000000' //指针
Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科学记数法 Format('x=%%', []); //'x=%' //得到\
S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //连接字符串 参考 proceduer SysUtils.FmtStr
例子 Edit1.Text := Format(Edit2.Text, [StrToFloatDef(Edit.3.Text, 0)]); ━━━━━━━━━━━━━━━━━━━━━ 首
部 procedure FmtStr(var Result: string; const Format: string; const Args: array of const); $[SysUtils.pas
功能 按指定方式格式化一个数组常量的字符形式返回 说明 <参见Format> 参
考 function SysUtils.FormatBuf;function System.Length;function System.SetLength 例子 <参见Format>
━━━━━━━━━━━━━━━━━━━━━ 首
部 function FormatBuf(var Buffer; BufLen: Cardinal; const Format; FmtLen: Cardinal; const Args: array of const): Cardinal; $[SysUtils.pas 功能 返回按指定方式格式化一个数组常量到缓冲区Buffer中 说明
例子 <参见Format>
━━━━━━━━━━━━━━━━━━━━━
首部 function FloatToStr(Value: Extended): string; $[SysUtils.pas 功能 返回浮点数Value转换成字符串
说明 当浮点数大等于1E15将采用科学记数法 参考 function SysUtils.FloatToText 例子 Edit1.Text := FloatToStr(Now);
━━━━━━━━━━━━━━━━━━━━━
首部 function CurrToStr(Value: Currency): string; $[SysUtils.pas 功能 返回货币数Value转换成字符串
说明 货币数只保留四位小数
参考 function SysUtils.FloatToText 例子 Edit1.Text := CurrToStr(Now);
━━━━━━━━━━━━━━━━━━━━━
首部 function FloatToCurr(const Value: Extended): Currency; $[SysUtils.pas 功能 返回浮点数Value转换成货币数
说明 如果浮点数Value超出范围则将触发异常
参考 const SysUtiles.MinCurrency;const SysUtiles.MaxCurrency 例子 Edit1.Text := CurrToStr(FloatToCurr(Now)); ━━━━━━━━━━━━━━━━━━━━━ 首
部 function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; $[SysUtils.pas 功能 返回浮点数以指定格式转换成字符串
说明 Precision指定精度;Digits指定小数宽度 参考 function SysUtils.FloatToText 例子
///////Begin FloatToStrF
procedure TForm1.Button1Click(Sender: TObject); begin
Memo1.Lines.Values['ffGeneral'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffGeneral, SpinEdit1.Value, SpinEdit2.Value);
Memo1.Lines.Values['ffExponent'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffExponent, SpinEdit1.Value, SpinEdit2.Value);
Memo1.Lines.Values['ffFixed'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffFixed, SpinEdit1.Value, SpinEdit2.Value);
Memo1.Lines.Values['ffNumber'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffNumber, SpinEdit1.Value, SpinEdit2.Value);
Memo1.Lines.Values['ffCurrency'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffCurrency, SpinEdit1.Value, SpinEdit2.Value); end;
///////End FloatToStrF
━━━━━━━━━━━━━━━━━━━━━ 首
部 function FloatToText(BufferArg: PChar; const Value; ValueType: TFloatValue; Format: TFloatFormat; Precision, Digits: Integer): Integer; $[SysUtils.pas 功能 返回浮点数以指定格式转换成指针字符串的内存大小 说明 Precision指定精度;Digits指定小数宽度 参考
///////Begin FloatToText
procedure TForm1.Button1Click(Sender: TObject); var
vBuffer: array[0..255] of Char;
E: Extended; begin
E := StrToFloatDef(Edit1.Text, 0);
SpinEdit3.Value := FloatToText(vBuffer, E,
fvExtended, ffNumber, SpinEdit1.Value, SpinEdit2.Value); Edit2.Text := Copy(vBuffer, 1, SpinEdit3.Value); end;
///////End FloatToText(
━━━━━━━━━━━━━━━━━━━━━ 首
部 function FormatFloat(const Format: string; Value: Extended): string; $[SysUtils.pas
功能 返回浮点数类型以指定格式字符串Format转换成字符串 说明 FormatFloat(',.00', 1234567890) = '1,234,567,890.00' 参考 function SysUtils.FloatToTextFmt
例子 Edit1.Text := FormatFloat(Edit2.Text, StrToFloatDef(Edit3.Text, 0)); ━━━━━━━━━━━━━━━━━━━━━ 首
部 function FormatCurr(const Format: string; Value: Currency): string; $[SysUtils.pas
功能 返回货币类型以指定格式字符串Format转换成字符串 说明 FormatCurr(',.00', 1234567890) = '1,234,567,890.00' 参考 function SysUtils.FloatToTextFmt
例子 Edit1.Text := FormatCurr(Edit2.Text, StrToCurrDef(Edit3.Text, 0)); ━━━━━━━━━━━━━━━━━━━━━ 首
部 function FloatToTextFmt(Buf: PChar; const Value; ValueType: TFloatValue; Format: PChar): Integer; $[SysUtils.pas
功能 返回浮点数以指定格式字符串Format转换成指针字符串的内存大小 说明 ValueType指定无类型参数Value的类型 参考
///////Begin FloatToTextFmt
procedure TForm1.Button1Click(Sender: TObject); var
vBuffer: array[0..255] of Char; E: Extended; begin
E := StrToFloatDef(Edit1.Text, 0);
SpinEdit1.Value := FloatToTextFmt(vBuffer, E, fvExtended, PChar(Edit2.Text));
Edit3.Text := Copy(vBuffer, 1, SpinEdit1.Value); end;
///////End FloatToTextFmt
━━━━━━━━━━━━━━━━━━━━━ 首
部 procedure FloatToDecimal(var Result: TFloatRec; const Value; ValueType: TFloatValue; Precision, Decimals: Integer); $[SysUtils.pas 功能 将浮点数转换成浮点结构类型并返回到Result
说明 ValueType指定类型;Precision指定精度;Decimals指定小数 参考 type SysUtils.TFloatRec 例子
━━━━━━━━━━━━━━━━━━━━━ 首
部 function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp; $[SysUtils.pas
功能 返回日期时间类型转换成时间结构类型 说明
参考 type SysUtils.TTimeStamp 例子
━━━━━━━━━━━━━━━━━━━━━
首部 function EncodeDate(Year, Month, Day: Word): TDateTime; $[SysUtils.pas 功能 返回合并年、月、日得到的日期 说明 当出现非法组合时将触发异常
参考 function SysUtils.TryEncodeDate 例
子 Edit1.Text := DateToStr(EncodeDate(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value));
━━━━━━━━━━━━━━━━━━━━━
首部 function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime; $[SysUtils.pas 功能 返回合并时、分、秒、微秒得到的时间 说明 当出现非法组合时将触发异常
参考 function SysUtils.TryEncodeTime 例
子 Edit1.Text := TimeToStr(EncodeTime(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value, SpinEdit4.Value));
━━━━━━━━━━━━━━━━━━━━━ 首
部 procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word); $[SysUtils.pas
功能 分解日期为年、月、日 说明
参考 function SysUtils.DecodeDateFully 例子
///////Begin DecodeDate
procedure TForm1.Button1Click(Sender: TObject); var
Year, Month, Day: Word;
begin
DecodeDate(Date, Year, Month, Day); SpinEdit1.Value := Year; SpinEdit2.Value := Month; SpinEdit3.Value := Day; end;
///////End DecodeDate
━━━━━━━━━━━━━━━━━━━━━ 首
部 function DecodeDateFully(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean; $[SysUtils.pas 功能 分解日期为年、月、日、星期 说明 [DOW:Day Of Week]
参考 function SysUtils.DateTimeToTimeStamp 例子
///////Begin DecodeDateFully
procedure TForm1.Button1Click(Sender: TObject); var
Year, Month, Day, DOW: Word; begin
DecodeDateFully(Date, Year, Month, Day, DOW); SpinEdit1.Value := Year; SpinEdit2.Value := Month; SpinEdit3.Value := Day; SpinEdit4.Value := DOW; end;
///////End DecodeDateFully
━━━━━━━━━━━━━━━━━━━━━ 首
部 function InternalDecodeDate(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean; $[SysUtils.pas 功能
参考 function SysUtils.DecodeDateFully 例子
━━━━━━━━━━━━━━━━━━━━━ 首
部 procedure DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Word); $[SysUtils.pas
功能 分解时间为时、分、秒、微妙 说明
参考 function SysUtils.DateTimeToTimeStamp 例子
///////Begin DecodeTime