global function string f_dec2cn (decimal number)
//======================================================================
// Function: f_dec2cn()
// Description: 将数字转化为汉字大写金额
//----------------------------------------------------------------------
// Arguments: 
//   decimal number   欲转换的数字,最大±1亿亿 - 0.01
// Returns:  string   返回,如果超出范围,返回空串
//----------------------------------------------------------------------
// Author:   RJH      Date: Apr 03,2004
//======================================================================

string CN_NUM[10] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"} //   大写0-9
string CN_CARRY[18] = {"分","角","元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万","拾","佰","仟"}
string ls_number,ls_rc
string li_pos,li_for,li_len
If number < 0 Then ls_rc = "负"
ls_number = string(ABS(Number) * 100, "0" )
li_len = Len(ls_number)
If li_len > UpperBound(CN_CARRY) Then Return ""
For li_for = 1 To li_len
   li_pos = Integer(Mid(ls_number,li_for,1))
   If li_pos <> 0 Then      ////   非零值的处理,很简单
      ls_rc += CN_NUM[li_pos + 1] + CN_CARRY[li_len - li_for + 1]
   ElseIf Mod(li_len - li_for - 2,4) = 0 Then   ///元、万、亿、万亿进位
      If Right(ls_rc,2) = CN_NUM[1] Then ls_rc = Left(ls_rc,Len(ls_rc) - 2)
      If li_len - li_for <> 6 Or Right(ls_rc,2) <> "亿" Then ls_rc += CN_CARRY[li_len - li_for + 1]
      ls_rc += CN_NUM[1]
   ElseIf Right(ls_rc,2) <> CN_NUM[1] Then
      ls_rc += CN_NUM[1]
   End If
Next

If Right(ls_rc,2) = CN_NUM[1] Then ls_rc = Left(ls_rc,Len(ls_rc) - 2)
If Right(ls_rc,2) = "元" Then ls_rc += "整"
Return ls_rc
end function