有关字符串处理的小技巧

时间:2010-02-26 18:24:29  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:  ShowMessage(Format('%*.*n',[10,2,n]));end;小写金额转换  如下为一个简单的小写金额转换为大写的函数,其思路简单(可以说烂吧,居然利用了位置来转换),但是它几乎可以无限制的转换,只要你能读得出来和写得进去:function Tform1.SmallTOBig(small:real):string;  var SmallMonth,BigMonth:string;  w...
  正文:字符串处理:
(①将12345678.99转换成12,345,678.99 ②小写金额转换 ③替换指定串函数)  
将12345678.99转换成12,345,678.99
方法:
var
  n : DOUBLE ;
begin
  n:=12345678.99;
  ShowMessage(Format('%*.*n',[10,2,n]));
end;

小写金额转换
  如下为一个简单的小写金额转换为大写的函数,其思路简单(可以说烂吧,居然利用了位置来转换),但是它几乎可以无限制的转换,只要你能读得出来和写得进去:
function Tform1.SmallTOBig(small:real):string;
  var SmallMonth,BigMonth:string;
  wei1,qianwei1:string[2];
  wei,qianwei,dianweizhi,qian:integer;
begin
  {------- 修改参数令值更精确 -------}
  qianwei:=-2;{小数点后的位置,需要的话也可以改动-2值}
  Smallmonth:=formatfloat('0.00',small);{转换成货币形式,需要的话小数点后加多几个零}
  {---------------------------------}
  dianweizhi :=pos('.',Smallmonth);{小数点的位置}
  for qian:=length(Smallmonth) downto 1 do{循环小写货币的每一位,从小写的右边位置到左边}
  begin
    if qian<>dianweizhi then{如果读到的不是小数点就继续}
      begin
        case strtoint(copy(Smallmonth,qian,1)) of{位置上的数转换成大写}
        1:wei1:='壹'; 2:wei1:='贰';
        3:wei1:='叁'; 4:wei1:='肆';
        5:wei1:='伍'; 6:wei1:='陆';
        7:wei1:='柒'; 8:wei1:='捌';
        9:wei1:='玖'; 0:wei1:='零';
      end;
     case qianwei of{判断大写位置,可以继续增大到real类型的最大值}
     -3:qianwei1:='厘';
     -2:qianwei1:='分';
     -1:qianwei1:='角';
     0 :qianwei1:='元';
     1 :qianwei1:='拾';
     2 :qianwei1:='佰';
     3 :qianwei1:='千';
     4 :qianwei1:='万';
     5 :qianwei1:='拾';
     6 :qianwei1:='佰';
     7 :qianwei1:='千';
     8 :qianwei1:='亿';
     9 :qianwei1:='十';
     10:qianwei1:='佰';
     11:qianwei1:='千';
   end;
    inc(qianwei);
    BigMonth :=wei1+qianwei1+BigMonth;{组合成大写金额}
    end;
  end;
  SmallTOBig:=BigMonth;
end;
调用如下"edit1.text:=SmallTOBig(1234567890.1234);"他自动默认小数点后两位

替换指定串函数
一个替换指定串的函数,从一个字符串中找出指定子串,并替换为另一子串。
function replacing(S,source,target:string):string;
var site,StrLen:integer;
begin
{source在S中出现的位置}
site:=pos(source,s);
{source的长度}
StrLen:=length(source);
{删除source字符串}
delete(s,site,StrLen);
{插入target字符串到S中}
insert(target,s,site);
{返回新串}
replacing:=s;
end;  
"有关字符串处理的小技巧"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/12938.html


关键字:

关于《有关字符串处理的小技巧》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td