您的位置 首页 百科知识

fastreport4 如何把金额转换成大写

fastreport4 如何把金额转换成大写

小写金额转换

如下为一个简单的小写金额转换为大写的函数,其思路简单(可以说烂吧,居然利用了位置来转换),但是它几乎可以无限制的转换,只要你能读得出来和写得进去:

function Tform1.SmallTOBig(small:real):string;

var SmallMonth,BigMonth:string;

wei1,qianwei1:string;

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;

上一篇 感到一阵小幸福是什么歌曲
下一篇 顾城最经典的十首诗
扫一扫,手机访问

扫一扫,手机浏览