FastReport 版本:4.13.1
例子:将金额转换为大写(备注:函数为网上下载) FastReport 版本:4.13.1
1、在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; result:=resu;end; --------------------------------------------
2、在FastReport设计标签页中添加memo控件,这里的memo控件名为:memo28然后在FastReport设计标签页选择memo28然后双击onbeforeprint事件,然后在代码页中的光标位置用代码引用自己编写的函数。引用方式如下:---------------------------- memo28.text:=MoneyToCharacter(SUM(
注意事项:在设计报表页面中双击memo28的弹出窗口中引用公式是没有效果的,需要在code页面中用代码引用。
Code页的全部代码如下:----------------------------------------//这里是函数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; result:=resu;end; //这里是自定义函数的引用procedure Memo28OnBeforePrint(Sender: TfrxComponent);begin memo28.text:=MoneyToCharacter(SUM(