在好例子网,分享、交流、成长!
您当前所在位置:首页Pascal 开发实例Delphi图形界面编程 → delphi 金额大小写转换 源码

delphi 金额大小写转换 源码

Delphi图形界面编程

下载此实例
  • 开发语言:Pascal
  • 实例大小:0.24M
  • 下载次数:28
  • 浏览次数:343
  • 发布时间:2015-06-01
  • 实例类别:Delphi图形界面编程
  • 发 布 人:CDDDDDDDD
  • 文件格式:.rar
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

【实例截图】

【核心代码】

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    Function ConvertMoney(Num: Real): String;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
   uses math;
{$R *.dfm}

{ TForm1 }

function TForm1.ConvertMoney(Num: Real): String;
var
  intstr,decstr,s: String;
  intlen,declen,i: word;
begin
  Intstr:= intToStr(Trunc(Num));
  decstr := FloatToStr(RoundTo(Frac(num),-2));//对小数进行四舍五入
  decstr := copy(decstr,3,Length(decstr)-1);
  declen := Length(decstr);
  intlen := Length(Intstr);
  For i :=  1 to Intlen do
  begin
    Case StrToInt(Intstr[i]) of
      0: begin
           if (copy(s,Length(s)-1,2)<>'零')  then
             s := s '零';
         end;
      1: s := s '壹';
      2: s := s '贰';
      3: s := s '叁';
      4: s := s '肆';
      5: s := s '伍';
      6: s := s '陆';
      7: s := s '柒';
      8: s := s '捌';
      9: s := s '玖';
    end;
     case intlen-i 1 of
       13: begin
             if (StrToInt(Intstr[i])<>0)then
               s := s '万';
           end;
       12: begin
             if (StrToInt(Intstr[i])<>0) then
               s := s '千';
           end;
       11: begin
             if (StrToInt(Intstr[i])<>0) then
               s := s '佰';
           end;
       10: begin
             if (StrToInt(Intstr[i])<>0) then
             begin
               //if (copy(s,Length(s)-1,2) ='壹')then
                // s := copy(s,0,Length(s)-2);
               s := s '十';
             end;
           end;
       9: begin
              if (StrToInt(Intstr[i])<>0) then
                s := s '亿'
              else
              begin
                if (copy(s,Length(s)-1,2) ='零')then
                  s := copy(s,0,Length(s)-2);
                  s := s '亿';
              end;
           end;
       8: begin
             if (StrToInt(Intstr[i])<>0) then
               s := s '千';
           end;
       7: begin
             if (StrToInt(Intstr[i])<>0)then
               s := s '佰';
           end;
       6: begin
             if (StrToInt(Intstr[i])<>0) then
             begin
               if (copy(s,Length(s)-1,2) ='壹')then
                 s := copy(s,0,Length(s)-2);
               s := s '十';
             end;
           end;
       5: begin
             if (StrToInt(Intstr[i])<>0) then
              s := s '万'
              else
              begin
                  s := copy(s,0,Length(s)-2);
                if (copy(s,Length(s)-1,2) <>'亿')then
                  s := s '万'
                else
                  s := s '零';
              end;
           end;
       4: begin
             if (StrToInt(Intstr[i])<>0) then
               s := s '千';
           end;
       3: begin
             if (StrToInt(Intstr[i])<>0) then
               s := s '佰';
           end;
       2: begin
             if (StrToInt(Intstr[i])<>0) then
               s := s '十';
           end;
       1: begin
             if (copy(s,Length(s)-1,2) ='零')then
               s := copy(s,0,Length(s)-2);
               s := s '元';
           end;
     end;
  end;
  For i := 1 to declen do
  begin
    Case StrToInt(decstr[i]) of
      0: begin
           if (copy(s,Length(s)-1,2)<>'零')  then
             s := s '零';
         end;
      1: s := s '壹';
      2: s := s '贰';
      3: s := s '叁';
      4: s := s '肆';
      5: s := s '伍';
      6: s := s '陆';
      7: s := s '柒';
      8: s := s '捌';
      9: s := s '玖';
    end;
    case i of
      1: begin
            if (StrToInt(decstr[i])<>0)then
              s := s '角';
          end;
      2: begin
            if (StrToInt(decstr[i])<>0) then
              s := s '分';
          end;
    end;
  end;
  Result := s;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit2.Text:= Convertmoney(StrToFloat(Edit1.Text));
end;

end.

标签:

实例下载地址

delphi 金额大小写转换 源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警