⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daxiaoxie.txt

📁 大小写转换函数
💻 TXT
字号:
unit hs_p;

interface

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

type
  Ths = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    function SmallTOBig(small:real):string;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  hs: Ths;

implementation

{$R *.dfm}


function Ths.SmallTOBig(small:real):string;
var SmallMonth,BigMonth:string;
  wei1,qianwei1:string[2];
  wei,qianwei,dianweizhi,qian:integer;
begin
  {------- 修改参数令值更精确 -------}
  {小数点后的位数,需要的话也可以改动该值}
  qianwei:=-2;
  {转换成货币形式,需要的话小数点后加多几个零}
  Smallmonth:=formatfloat('0.00',small);
  //showmessage(smallmonth);
  {---------------------------------}
  dianweizhi :=pos('.',Smallmonth);{小数点的位置}
  //showmessage(inttostr(dianweizhi));
  {循环小写货币的每一位,从小写的右边位置到左边}
  wei:=2;
  for qian:=length(Smallmonth) downto 1 do
  begin
    {如果读到的不是小数点就继续}
    if qian<>dianweizhi then
    begin
      {位置上的数转换成大写}
      case strtoint(copy(Smallmonth,qian,1)) of
        1:wei1:='壹'; 2:wei1:='贰';
        3:wei1:='叁'; 4:wei1:='肆';
        5:wei1:='伍'; 6:wei1:='陆';
        7:wei1:='柒'; 8:wei1:='捌';
        9:wei1:='玖'; 0:wei1:='零';
      end;
      {判断大写位置,可以继续增大到real类型的最大值,可是谁有那么多钱}
      case qianwei of
        -3:qianwei1:='厘';
        -2:qianwei1:='分';
        -1:qianwei1:='角';
        0 :qianwei1:='元';
        1 :qianwei1:='拾';
        2 :qianwei1:='佰';
        3 :qianwei1:='千';
        4 :qianwei1:='万';
        5 :qianwei1:='拾';
        6 :qianwei1:='佰';
        7 :qianwei1:='千';
        8 :qianwei1:='亿';
        9 :qianwei1:='十';
        10:qianwei1:='佰';
        11:qianwei1:='千';
      end;
      inc(qianwei);
      if (wei1<>'零') then
      begin
        BigMonth :=wei1+qianwei1+BigMonth;{组合成大写金额}
        wei:=0;
      end
      else
      begin
        if wei=0 then
        begin
        BigMonth :='零'+BigMonth;{组合成大写金额}
        wei:=1;
        end;
        if qianwei1='元' then BigMonth :=qianwei1+BigMonth;
        if qianwei1='万' then BigMonth :=qianwei1+BigMonth;
        if qianwei1='亿' then BigMonth :=qianwei1+BigMonth;
      end;

    end;
  end;
  SmallTOBig:=BigMonth+'整';
end;

procedure Ths.Button1Click(Sender: TObject);
begin
  Label1.caption:=SmallTOBig(StrToFloat(trim(edit1.text)));
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -