写个转换函数啊
这个是我很早很早以前写的,你参考一下,至于在哪里调用,没想到好的法子。。。你试试能不能把它改在fastreport里面。
function small2big(sourcemoney:currency):string;
var
strsourcemoney,strobjectmoney:string;
//strsourcemoney 保存未转换的小写字符串
//strobjectmoney 保存已转换的大写字符串
thiswei,thispos:string[2];
//thiswei为当前位的大写,thispos为当前位的人民币单位
iwei,pospoint:integer;
//iwei为当前位置,pospoint为小数点的位置
begin
strsourcemoney:=formatfloat('0.00',sourcemoney);
//将浮点数转换成指定格式字符串
if length(strsourcemoney)>15 then //超过千亿元
begin
showmessage('please input correct number');
exit;
end;
pospoint:=pos('.',strsourcemoney);//小数点位置
for iwei:=length(strsourcemoney) downto 1 do
begin
case pospoint-iwei of
-3: thispos:='厘' ;
-2: thispos:='分';
-1: thispos:='角';
1: thispos:='元';
2: thispos:='拾';
3: thispos:='佰';
4:thispos:='千';
5: thispos:='万';
6: thispos:='拾';
7:thispos:='佰';
8: thispos:='千';
9: thispos:='亿';
10: thispos:='十';
11: thispos:='佰';
12: thispos:='千';
end;
case strsourcemoney[iwei] of
'.': continue ;
'1': thiswei:='壹' ;
'2': thiswei:='贰';
'3': thiswei:='叁';
'4': thiswei:='肆';
'5': thiswei:='伍';
'6': thiswei:='陆';
'7': thiswei:='柒';
'8': thiswei:='捌';
'9': thiswei:='玖';
'0':
begin
thiswei:='';
if iwei<length(strsourcemoney) then
if (strsourcemoney[iwei+1]<>'0') and (strsourcemoney[iwei+1]<>'.') then
thiswei:='零';
if (thispos<>'亿') and (thispos<>'万') and (thispos<>'元') then
thispos:='' //单位是十,百、仟 的,为0,则不显示单位。
else
thiswei:='';//若单位为亿、万、元,则前一位0,不显示'零'
end;
end;
strobjectmoney:=thiswei+thispos+strobjectmoney;//组合成大写金额
end;
strobjectmoney:=ansireplacetext(strobjectmoney,'亿万','亿'); //去掉'亿万'中的'万'
if ansicontainsstr(strobjectmoney,'分') then
small2big:=strobjectmoney
else
begin
strobjectmoney:=strobjectmoney+'整';
small2big:=strobjectmoney;
end;
end;