FastReport 金额大小写转换自定义函数

ASP.NET 同时被 2 个专栏收录
4 篇文章 0 订阅
2 篇文章 0 订阅

在FastReport中编写金额数字转换大写自定义函数

function MoneyToCharacter(Money:real):string; //数字转换为中文大写
var
    temp:string;
    resu:string;
    i,j:integer;
    len:integer;
    Num:array[0..9] of string;
    A:array[0..13] of string;
begin
     Num[0]:='零';
     num[1]:='壹';
     Num[2]:='贰';
     num[3]:='叁';
     Num[4]:='肆';
     num[5]:='伍';
     Num[6]:='陆';
     num[7]:='柒';
     Num[8]:='捌';
     num[9]:='玖';
     a[0]:='分';
     a[1]:='角';
     a[2]:='元';
     a[3]:='拾';
     a[4]:='佰';
     a[5]:='仟';
     a[6]:='万';
     a[7]:='拾';
     a[8]:='佰';
     a[9]:='仟';
     a[10]:='亿';
     a[11]:='拾';
     a[12]:='佰';
     a[13]:='仟';
     temp:=trim(inttostr(round(money*100)));
     len:=length(temp);
     resu:='';
     if (len>13) or (len=0) then
       begin
         exit;
       end;
     for i:=1 to len do
     begin
         j:=strtoint(copy(temp,i,1));
         resu:=resu+num[j]+a[len-i];
     end;
     len:=length(resu);          
     result:=copy(resu,0,len-8);
end;

四舍五入,取整数

调用函数

procedure Memo41OnAfterData(Sender: TfrxComponent);
begin
   memo41.text:='总金额(大写):'+MoneyToCharacter(Round(SUM(<加工."发货金额">,MasterData1)))+'整';
    TfrxMemoView(Sender).Font.Size:=12;
   while ((TfrxMemoView(Sender).CalcHeight-TfrxMemoView(Sender).LineSpacing)-TfrxMemoView(Sender).Height>0) do
  begin
    TfrxMemoView(Sender).Font.Size := TfrxMemoView(Sender).Font.Size-1;
  end;       
end;

如下显示:

显示浮点数属性设置 displayFormat    Formatstr  %2.2n

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论
请先登录 后发表评论~
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏作者

心梦缘-雪雁

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值