int NumToCap(Currency cyMoney,AnsiString &strCap,int iDigits)
{  AnsiString STRUNIT,STRCAP;
  AnsiString strMoney;
  Currency   cyFormatMoney;
  int         iExtendMoney;//扩大倍数的金额
  int iTmpM,iLen,iPowerValue;  STRCAP="零壹贰叁肆伍陆柒捌玖";
  switch(iDigits)
  {
    case 2:
     STRUNIT="分角元拾佰仟万拾佰仟亿拾佰仟";
     strMoney=FloatToStrF(cyMoney,ffFixed,20,2);
     break;
    case 4:
     STRUNIT="毫厘分角元拾佰仟万拾佰仟亿拾佰仟";
     strMoney=FloatToStrF(cyMoney,ffFixed,20,4);
     break;
    case 3:
     STRUNIT="厘分角元拾佰仟万拾佰仟亿拾佰仟";
     strMoney=FloatToStrF(cyMoney,ffFixed,20,3);
     break;
    case 1:
     STRUNIT="角元拾佰仟万拾佰仟亿拾佰仟";
     strMoney=FloatToStrF(cyMoney,ffFixed,20,1);
     break;
  }
 try
 {
  iLen=strMoney.Length();
  cyFormatMoney=StrToCurr(strMoney);
  iPowerValue=Power(10,iDigits);
  iExtendMoney=cyFormatMoney*iPowerValue;
  while(iLen-2>=0){
   iTmpM=(iExtendMoney)/(Power(10,iLen-2));
   strCap+=STRCAP.SubString(iTmpM*2+1,2) + STRUNIT.SubString((iLen-2)*2+1,2);
   iPowerValue=Power(10,iLen-2);
   iExtendMoney=iExtendMoney%iPowerValue;
   iLen--;
  }
  }catch(...)
  {
     return -1;
  }
  return 0;
}
//BCB的,转一下吧。
  参数:
       cyMoney:需要转换的金额
       strCap:大写字符
       iDigits:需要的小数位数  返回:-1:失败 0:成功