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

来源:互联网 发布:淘宝交保证金在哪里交 编辑:程序博客网 时间:2024/06/13 07:57
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 
原创粉丝点击