金额大小写转换的asp完全无错版本

<!--#include file=common.asp-->
<%
dim tmpnum
'从第一张页面传过来的小写金额
tmpnum=request("page1num")
'调用并显示大写金额
response.write rmb(cdbl(tmpnum))
response.end
%>


common.asp
<%
Function rmb(num)

num = FormatNumber(num, 2)
Dim numList
Dim rmbList
Dim numLen
Dim numChar
Dim numstr
Dim n
Dim n1, n2
Dim hz
numList = "零壹贰叁肆伍陆柒捌玖"
rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万"

If num > 9999999999999.99 Then
  rmb = "超出范围的人民币值"
  Exit Function
End If

numstr = CStr(num * 100)
numLen = Len(numstr)
n = 1
Do While n <= numLen
  numChar = CInt(Mid(numstr, n, 1))
  n1 = Mid(numList, numChar + 1, 1)
  n2 = Mid(rmbList, numLen - n + 1, 1)
  If Not n1 = "零" Then
    hz = hz + CStr(n1) + CStr(n2)
  Else
    If n2 = "亿" Or n2 = "万" Or n2 = "元" Or n1 = "零" Then
      Do While Right(hz, 1) = "零"
      hz = Left(hz, Len(hz) - 1)
      Loop
    End If
    If (n2 = "亿" Or (n2 = "万" And Right(hz, 1) <> "亿") Or n2 = "元") Then
      hz = hz + CStr(n2)
    Else
      If Left(Right(hz, 2), 1) = "零" Or Right(hz, 1) <> "亿" Then
        hz = hz + n1
      End If
    End If
  End If
  n = n + 1
Loop
Do While Right(hz, 1) = "零"
  hz = Left(hz, Len(hz) - 1)
Loop
If Right(hz, 1) = "元" Then
  hz = hz + "整"
End If
rmb = hz
End Function

%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值