|
字符串处理:xjPLinux联盟 (①将12345678.99转换成12,345,678.99 ②小写金额转换 ③替换指定串函数) xjPLinux联盟 将12345678.99转换成12,345,678.99 xjPLinux联盟 方法:xjPLinux联盟 varxjPLinux联盟 n : DOUBLE ;xjPLinux联盟 beginxjPLinux联盟 n:=12345678.99;xjPLinux联盟 ShowMessage(Format('%*.*n',[10,2,n]));xjPLinux联盟 end;xjPLinux联盟 xjPLinux联盟 小写金额转换xjPLinux联盟 如下为一个简单的小写金额转换为大写的函数,其思路简单(可以说烂吧,居然利用了位置来转换),但是它几乎可以无限制的转换,只要你能读得出来和写得进去:xjPLinux联盟 function Tform1.SmallTOBig(small:real):string;xjPLinux联盟 var SmallMonth,BigMonth:string;xjPLinux联盟 wei1,qianwei1:string[2];xjPLinux联盟 wei,qianwei,dianweizhi,qian:integer;xjPLinux联盟 beginxjPLinux联盟 {------- 修改参数令值更精确 -------}xjPLinux联盟 qianwei:=-2;{小数点后的位置,需要的话也可以改动-2值}xjPLinux联盟 Smallmonth:=formatfloat('0.00',small);{转换成货币形式,需要的话小数点后加多几个零}xjPLinux联盟 {---------------------------------}xjPLinux联盟 dianweizhi :=pos('.',Smallmonth);{小数点的位置}xjPLinux联盟 for qian:=length(Smallmonth) downto 1 do{循环小写货币的每一位,从小写的右边位置到左边}xjPLinux联盟 beginxjPLinux联盟 if qian<>dianweizhi then{如果读到的不是小数点就继续}xjPLinux联盟 beginxjPLinux联盟 case strtoint(copy(Smallmonth,qian,1)) of{位置上的数转换成大写}xjPLinux联盟 1:wei1:='壹'; 2:wei1:='贰';xjPLinux联盟 3:wei1:='叁'; 4:wei1:='肆';xjPLinux联盟 5:wei1:='伍'; 6:wei1:='陆';xjPLinux联盟 7:wei1:='柒'; 8:wei1:='捌';xjPLinux联盟 9:wei1:='玖'; 0:wei1:='零';xjPLinux联盟 end;xjPLinux联盟 case qianwei of{判断大写位置,可以继续增大到real类型的最大值}xjPLinux联盟 -3:qianwei1:='厘';xjPLinux联盟 -2:qianwei1:='分';xjPLinux联盟 -1:qianwei1:='角';xjPLinux联盟 0 :qianwei1:='元';xjPLinux联盟 1 :qianwei1:='拾';xjPLinux联盟 2 :qianwei1:='佰';xjPLinux联盟 3 :qianwei1:='千';xjPLinux联盟 4 :qianwei1:='万';xjPLinux联盟 5 :qianwei1:='拾';xjPLinux联盟 6 :qianwei1:='佰';xjPLinux联盟 7 :qianwei1:='千';xjPLinux联盟 8 :qianwei1:='亿';xjPLinux联盟 9 :qianwei1:='十';xjPLinux联盟 10:qianwei1:='佰';xjPLinux联盟 11:qianwei1:='千';xjPLinux联盟 end;xjPLinux联盟 inc(qianwei);xjPLinux联盟 BigMonth :=wei1+qianwei1+BigMonth;{组合成大写金额}xjPLinux联盟 end;xjPLinux联盟 end;xjPLinux联盟 SmallTOBig:=BigMonth;xjPLinux联盟 end;xjPLinux联盟 调用如下"edit1.text:=SmallTOBig(1234567890.1234);"他自动默认小数点后两位xjPLinux联盟 xjPLinux联盟 替换指定串函数xjPLinux联盟 一个替换指定串的函数,从一个字符串中找出指定子串,并替换为另一子串。xjPLinux联盟 function replacing(S,source,target:string):string;xjPLinux联盟 var site,StrLen:integer;xjPLinux联盟 beginxjPLinux联盟 {source在S中出现的位置}xjPLinux联盟 site:=pos(source,s);xjPLinux联盟 {source的长度}xjPLinux联盟 StrLen:=length(source);xjPLinux联盟 {删除source字符串}xjPLinux联盟 delete(s,site,StrLen);xjPLinux联盟 {插入target字符串到S中}xjPLinux联盟 insert(target,s,site);xjPLinux联盟 {返回新串}xjPLinux联盟 replacing:=s;xjPLinux联盟 end; xjPLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|