fastreport中输出人民币大写(原作者0769.KONG)

begin
  strNum := [JE];
  S1 := '零壹贰叁肆伍陆柒捌玖';
  S2 := '元拾佰仟万拾佰仟亿拾佰仟';
  if Pos('.', strNum) > 0 then
  begin
    strZS := Copy(strNum, 1, Pos('.', strNum)-1);
    strXS := Copy(strNum, Pos('.', strNum)+1, 10);
    strXS := Copy(strXS, 1, 2);
  end else
  begin
    strZS := strNum;
    strXS := '';
  end;
  bln0 := False;
  strZSBIG := '';
  intZsLen := Length(strZS);
  for i := 1 to intZsLen do
  begin
    intNo := Copy(strZS, i , 1);
    if intNo <> 0 then
    begin
      if bln0 and (i <> 1) then
        strZSBIG := strZSBIG + '零';
      strZSBIG := strZSBIG + Copy(S1, intNo*2+1, 2) + Copy(S2, (intZsLen-i+1)*2-1, 2)
    end else
    begin
      if intZsLen - i = 0 then
        strZSBIG := strZSBIG + '元'
      else if intZsLen - i = 4 then
        strZSBIG := strZSBIG + '万'
      else if intZsLen - i = 8 then
        strZSBIG := strZSBIG + '亿'
    end;
    bln0 := intNo = 0;
  end;
  if strXS > '00' then
  begin
    strXSBIG := '';
    if Copy(strZS, intZsLen, 1) = '0' then
      strXSBIG := strXSBIG + '零';
    if Copy(strXS, 1, 1) = '0' then
    begin
      if Copy(strZS, intZsLen, 1) <> '0' then
        strXSBIG := strXSBIG + '零';
    end else
      strXSBIG := strXSBIG + Copy(S1, Copy(strXS, 1, 1)*2+1, 2) + '角';
    if (Copy(strXS, 2, 1) = '0') or (Copy(strXS, 2, 1) = '') then
      strXSBIG := strXSBIG + ''
    else
      strXSBIG := strXSBIG + Copy(S1, Copy(strXS, 2, 1)*2+1, 2) + '分';
    strBIG := strZSBIG +  strXSBIG;
  end
  else
    strBIG := strZSBIG + '整';
  BigNum := strBIG;
end 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值