主页 > 编程资料 > Delphi >
发布时间:2015-09-22 作者:网络 阅读:123次

在线转换:http://tool.apizl.com/tools/numberTurn.html


在Delphi XE8下不能正常转换。

Function MoneyConvert(mmje:real): string;

const

  s1: string = '零壹贰叁肆伍陆柒捌玖';

  s2: string = '分角元拾佰仟万拾佰仟亿拾佰仟万';

  Function StrTran(const S, s1, s2: string): string;

  begin

      Result := S.Replace(s1, s2, [rfReplaceAll]);

  end;

var

  S, dx: string;

  i, Len: Integer;

begin

  if mmje < 0 then

  begin

     dx := '负';

      mmje := -mmje;

  end;

  S := Format('%.0f', [mmje * 100]);

  Len := s.Length;

  for i := 0 to Len-1 do

    dx := dx + s1.Substring(Ord(s.Chars[i]) - Ord('0') , 1) +s2.substring(Len-i-1,1);


  dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零仟', '零'), '零佰','零'),'零拾', '零'), '零角', '零'), '零分', '整');

  dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零零', '零'), '零零','零'),'零亿', '亿'), '零万', '万'), '零元', '元');

  if dx = '整' then

    Result := '零元整'

  else

    Result := StrTran(StrTran(dx, '亿万', '亿零'), '零整', '整');


//如果不按金额转换,只转成大写数字,把下面的注释去掉

//  result:=StrTran(Result,'元','点');

//  result:=StrTran(Result,'角','');

//  result:=StrTran(Result,'分','');

//  result:=StrTran(Result,'点整','');


end;


关键字词: