ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-11-12 14:33:24  阅读:203  来源: 互联网

标签:Sender 自定义 len resu num 大小写 FastReport TfrxMemoView Num


在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
————————————————
版权声明:本文为CSDN博主「心梦缘-雪雁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mxy906975387/article/details/93861312

标签:Sender,自定义,len,resu,num,大小写,FastReport,TfrxMemoView,Num
来源: https://www.cnblogs.com/approx/p/15544420.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有