strm:='';
i:=s2[1]+s2[2]+s2[3]+s2[4]+s2[5];
strq:='零壹贰叁肆伍陆柒捌玖拾';
strx:='拾万仟佰拾元角分';
for k:=1 to 8 do
begin
j:=i mod 10 ;
// textout(intz[9-k],lh,copy(strq,j*2+1,2));
if i>0 then
strm:=copy(strq,j*2+1,2)+copy(strx,(8-k)*2+1,2)+strm;
i:=i div 10;
end;
财务软件中总少不了大写的金额表示方式,如下为一个简单的小写金额转换为大写的函数,其思路简单(可以说烂吧,居然利用了位置来转换),但是它却几乎可以无限制的转换,只要你能读得出来和写得进去:
function Tform1.SmallTOBig(small:real):string;
var SmallMonth,BigMonth:string;
wei1,qianwei1:string[2];
wei,qianwei,dianweizhi,qian:integer;
begin
{------- 修改参数令值更精确 -------}
{小数点后的位数,需要的话也可以改动该值}
qianwei:=-2;
2、根据字符串操作处理:
len:=length(s);
dot:=ansipos('.',s);//小数点位置
HS:='';
for i:=1 to len do
begin
num[i]:=copy(s,i,1);//分离数字
case num[i] of
'1':Hnum:='壹';
'2':……
……
if (dot>i)
HS:=HS+Hnum+M[dot-i]
else
begin
//这一段自己写吧;
end;
end;