Delphi 转换函数

转为字符

定义 说明
Chr(integer) 转为字符  
IntToStr(integer):String 整数转字符串 SysUtils
FloatToStr(Extended) 浮点数转字符串,当大于等于1e15时用科学记数法 SysUtils
FloatToStrF(Extended,TFloatFormat,Prec,Dig) 浮点数按格式转字符串 SysUtils
CurrToStr(Currency) 货币值转字符串,保留四位小数 SysUtils
CurrToStrF(Currency,TFloatFormat,Dig) 货币值按格式转字符串 SysUtils
FloatToText(BufPChar,Value,TFloatValue,TFloatFormat,Prec, Dig) 浮点数/货币值按格式转换为字符串存入指针,并返回字节数 SysUtils
BoolToStr(bool, UseBoolStrs) 逻辑值转字符串  
Str(number[:width[:dec]], var String) 数字转字符串,可选宽度,小数位 System

从字符转

定义 说明
StrToInt(String) 字符串转整数 SysUtils
StrToIntDef(String, Default) 字符串转整数,提供默认值  
TryStrToInt(str,out Integer) 返回转换是否成功,转换结果从参数返回,不成功返回 0  
StrToInt64(string):Int64 字符串转 Int64  
StrToInt64Def(string,def):Int64 字符串转 Int64,提供默认值  
StrToFloat(string):Float 字符串转浮点数  
StrToFloatDef(string,def):Float 字符串转浮点数,提供默认值  
TryStrToFloat(string,out Extended) 字符串转浮点数,返回是否成功  
TryStrToFloat(string,out Single) 字符串转单精度浮点数,返回是否成功  
TryStrToFloat(string,out Double) 字符串转双精度浮点数,返回是否成功  
TryStrToInt64(string,out Int64):Int64 返回转换是否成功,转换结果从参数返回,不成功返回 0  
StrToCurr(string):Currency 字符串转货币值  
StrToCurrDef(string,def):Currency 字符串转货币值,提供默认值  
TryStrToCurr(string,out Currency) 字符串转货币值,返回是否成功
StrToBool(string) 字符串转逻辑值,可识别 true/false/yes/no  
StrToBoolDef(string) 字符串转逻辑值,提供默认值  
TryStrToBool(string) 返回转换是否成功,转换结果从参数返回  

数值互转

定义 说明
FloatToCurr(Extended) 浮点数转货币值,超范围异常 SysUtils
FloatToDateTime(Extended):TDateTime 浮点数转日期时间,超范围异常  
IntToHex(Integer,Length) 整数转十六进制字符串,Length 为最小长度 SysUtils
TextToFloat(BufPChar,Value,TFloatValue) 字符串转浮点数  
FloatToDecimal(TFloatRec,Value,TFloatValue) 浮点数转数位  

未分类

LoadStr(Ident) 返回字符串资源  
FmtLoadStr(Ident,[Args]) 返回格式化的字符串资源  

Format 函数

定义 说明
    Format(Format,[args]):string 返回按规定格式转化成的字符串  
WideFormat(WideFormat,[args]):string 返回按规定格式转化成的字符串  
    FmtStr(var String,Format,[args]) 将格式化生成的字符串存入字符串变量  
WideFmtStr(var WideString,WideFormat,[args]) 将格式化生成的字符串存入字符串变量  
StrFmt(BufPChar,FormatPChar,[args]) 将格式化生成的字符串存入指针  
StrLFmt(BufPChar,maxLen,FormatPChar,[args]) 将格式化生成的字符串存入指针,有长度限制  
    FormatBuf(var Buf,Buflen,Format,FmtLen,[args]) 将格式化生成的字符串存入缓冲区  
WideFormatBuf(var Buf,Buflen,Format,FmtLen,[args]) 将格式化生成的字符串存入缓冲区  
FormatFloat(Format,Extended) 返回格式化成字符串的浮点数  
FormatCurr(Format,Currency) 返回格式化成字符串的货币值 SysUtils
FloatToTextFmt(BufPChar,Value,TFloatValue,FmtPchar) 将格式化生成的字符串存入缓存,并返回大小 SysUtils
FormatDateTime(Format,TDateTime):String 返回格式化后时间日期字符串  
DateTimeToString(var String,Format,TDateTime) 格式化时间日期字符串存入字符串  
     

Format 函数

参数 意义
Format 格式,遇到 '%' 时开始定义一个数据转换格式,其余直接输出
Args 将被转换到结果字符串的数据集合
'%'[索引 ':']['-'][宽度]['.'小数位]类型
标记 意义
% 表示一个转换定义开始
索引 指定转换集合中某位置的数据,默认为依次转换,从 0 起
- 表示长度不足时空格补在数据的后面
宽度 指定转换后的长度,不足时补空格
小数位 指定数字转换后的小位数,不足时补 0
类型 指定数据的类型,必须与集合中的相对,否则结果无意义

Format 格式1

表示字符 类型 输出格式
% 输出一个 '%'
d 整数 十进制格式
x 整数 十六进制
u 无符号整数 十进制格式
e 浮点数 科学计数法
f 浮点数 小数
g 浮点数 小数
n 浮点数 小数,含千分节号
m 浮点数 货币格式
p 指针 八位十六进制
s String, Char, PChar 字符串

Format 格式2

表示字符 意义
0 数字位
# 数字位,无则显示空格
. 小数点,只允许一个,多余的被忽略
, 千分节号,只需要使用一个
E+ 科学计数法
'xx'/"xx" 直接输出 xx
; 为正数,负数,零值指定不同格式,用分号隔开

TFloatValue 常量

常量 意义
fvExtended 普通浮点数
fvCurrency 货币值

TFloatFormat 常量

常量 意义
ffGeneral 一般数字格式
ffExponent 科学计数法格式,'-d.ddd...E+dddd'
ffFixed 定点数,"-ddd.ddd..."
ffNumber 数字,"-d,ddd,ddd.ddd..."
ffCurrency 货币格式,

UseBoolStrs 常量

常量 意义
true  结果为 'true'/'false'
false 结果为 '-1'/'0'

TFloatRec 常量

type TFloatRec = record 

    Exponent: Smallint;
    Negative: Boolean;
    Digits: array[0..20] of Char;

end;

属性 意义
Exponent 小整数,-32768 ~ 32767
Negative 是否负数
Digits 数字位,18-19 位

Format 格式

表示字符 意义
c  
d 日,1-31
dd 日,01-31
ddd 星期简写,Sun-Sat
dddd 星期英文
ddddd  
dddddd  
e  
ee  
g  
gg  
m 月,1-12
mm 月,01-12
mmm 月英文简写
mmmm 月英文
yy 年,两位
yyyy 年,四位
h 时,0-23
hh 时,00-23
n 分,0-59
nn 分,00-59
s 秒,0-59
ss 秒,00-59
z 毫秒,0-999
zzz 毫秒,000-999
t  
tt  
am/pm 时用 12 小时制
a/p 时用 12 小时制
ampm  
/  
:  
'xx'/"xx" 直接输出 xx 字符