我从网上看到了这段程序,按照步骤进行了操作,但是结果没有在fastreport中显示出来 不知道什么原因?
function TFPKJFrm.MoneyCn(mmje: Double): string;
const
  s1: string = '零壹贰叁肆伍陆柒捌玖';
  s2: string = '分角元拾佰仟万拾佰仟亿拾佰仟万';
  function StrTran(const S, s1, s2: string): string;
  begin
    Result := StringReplace(S, s1, s2, [rfReplaceAll]);
  end;
var
  S, dx: string;
  i, Len: Integer;
begin
  if mmje < 0 then
  begin
    dx := '负';
    mmje := -mmje;
  end;
  S := Format('%.0f', [mmje * 100]);
  Len := Length(S);
  for i := 1 to Len do
    dx := dx + Copy(s1, (Ord(S[i]) - Ord('0')) * 2 + 1, 2) + Copy(s2, (Len - i)
      * 2 + 1, 2);
  dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零仟', '零'), '零佰',
    '零'),
    '零拾', '零'), '零角', '零'), '零分', '整');
  dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零零', '零'), '零零',
    '零'),
    '零亿', '亿'), '零万', '万'), '零元', '元');
  if dx = '整' then
    Result := '零元整'
  else
    Result := StrTran(StrTran(dx, '亿万', '亿零'), '零整', '整');
end;
 
function TFPKJFrm.frxReport1UserFunction(const MethodName: String;
  var Params: Variant): Variant;
begin
 if UpperCase(MethodName) = UpperCase('MoneyCn') then
    Result := MoneyCn(Params[0]);
end;
2:窗体建立的时候添加自定义函数
procedure TFPKJFrm.FormCreate(Sender: TObject);
begin
frxReport1.AddFunction('function MoneyCn(mmje: Double): String;','Myfunction','小写金额转大写的函数');
end;
3:在fastreport中调用函数
[MoneyCn(StrToFloat(<frxDBDataset1."合计金额">))]

解决方案 »

  1.   


    人民币大小写转换
    http://www.delphibbs.com/keylife/iblog_show.asp?xid=23634
      

  2.   

    为什么我在fastreport调用不显示结果呢?在fastreport中调用函数 
    [MoneyCn(StrToFloat( <frxDBDataset1."合计金额">))] 
      

  3.   

    哪位高手给仔细讲讲在fastreport中我该如何调用呢,越详细越好 万分感谢!
      

  4.   

    [MoneyCn(100)] 
    先试试看。
    再不行。
    function TFPKJFrm.MoneyCn(mmje: Double): string; 
    begin
      Result:='123';
    end;
    试试看
      

  5.   

    http://blog.csdn.net/SmallHand/archive/2009/08/10/4430493.aspx[MoneyToCn(3256.65)]
    [MoneyToCn(<frxDBDataset1."UnitPrice">)]
      

  6.   

    [MoneyToCn( <frxDBDataset1."UnitPrice">)] 提示  运算式错误
    [MoneyToCn(3256.65)] 提示 标识符为宣告
    郁闷啊!!
      

  7.   

    sorry, Cannot use QQ and any Community Tools in Company!
      

  8.   

    我也试过如下数据
    [MoneyToCn(22.00)]  可以
    [MoneyToCn(22)] 出错
    [MoneyToCn( <frxDBDataset1."UnitPrice">)]可以
    [MoneyToCn(SUM(<frxDBDataset2."subtotal">,DetailData1))]出错,错误表达式,没有定义SUM