财务数字大小写转换函数代码

function ChangMoney(small:real):string;
var
SmallMonth,BigMonth:string;
wei1,qianwei1:string[2];
qianwei,dianweizhi,qian:integer;
ObjSmall:real;
begin
    ObjSmall:=Abs(small);   ///绝对值
    qianwei:=-2;//小数点后的位置,需要的话也可以改动-2的值
    SmallMonth:=formatfloat('0.00',ObjSmall);  ///转换成货币形式,需要的话小数点后加多几个零
    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);       //递增
                 if Small<0 then
                    BigMonth:='负'+wei1+qianwei1+BigMonth //组合成大写金额
                  else
                    BigMonth:=wei1+qianwei1+BigMonth //组合成大写金额
             end;


      end;
  Result:=BigMonth;


end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值