1、小写金额转换如下为一个简单的小写金额转换为大写的函数,其思路简单(可以说烂吧,居然利用了位置来转换) ,但是它几乎可以无限制的转换,只要你能读得出来和写得进去:function Tform1.SmallTOBig(small:real):string;var SmallMonth,BigMonth:string;wei1,qianwei1:string2;qianwei,dianweizhi,qian:integer;begin- 修改参数令值更精确 -小数点后的位置,需要的话也可以改动-2 值qianwei:=-2;转换成货币形式,需要的话小数点后加多几个零Smallmonth:=forma
2、tfloat(0.00,small);-dianweizhi :=pos(.,Smallmonth);小数点的位置循环小写货币的每一位,从小写的右边位置到左边for qian:=length(Smallmonth) downto 1 dobegin如果读到的不是小数点就继续if qiandianweizhi thenbegin位置上的数转换成大写case strtoint(copy(Smallmonth,qian,1) of1:wei1:=壹; 2:wei1:=贰;3:wei1:=叁; 4:wei1:=肆;5:wei1:=伍; 6:wei1:=陆;7:wei1:=柒; 8:wei1:=捌;9:
3、wei1:=玖; 0:wei1:=零;end;判断大写位置,可以继续增大到 real 类型的最大值case qianwei of-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);”他自动默认小数点后两位