多春鱼小屋

登录
记住密码
  1. 首页
  2. 【转】delphi经典大写数字转换函数
【转】delphi经典大写数字转换函数
发布 | 2015-8-10 | 评论数:0 | 阅读数:3177 | 标签:Delphi
Function MoneyConvert(mmje:real): string;
const
  s1: string = '零壹贰叁肆伍陆柒捌玖';
  s2: string = '分角元拾佰仟万拾佰仟亿拾佰仟万';
  Function StrTran(const S, s1, s2: string): string;
  begin
      Result := StringReplace(S, 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;

跨平台的,android下也可用!

分享至:

本文已关闭评论

  • 评论0
  • 粉丝1
  • 文章33

    • 多春鱼
    • 广州
    • 1970年2月26日
    • 联系 :capelin@qq.com 微信:imcapelin
    • 查看更多 >
    热门文章
    标签
    Delphi Android PHP Tools