|
<!--#include file=common.asp--> CAuLinux联盟 <% CAuLinux联盟 dim tmpnum CAuLinux联盟 '从第一张页面传过来的小写金额 CAuLinux联盟 tmpnum=request("page1num") CAuLinux联盟 '调用并显示大写金额 CAuLinux联盟 response.write rmb(cdbl(tmpnum)) CAuLinux联盟 response.end CAuLinux联盟 %> CAuLinux联盟 CAuLinux联盟 CAuLinux联盟 common.asp CAuLinux联盟 <% CAuLinux联盟 Function rmb(num) CAuLinux联盟 CAuLinux联盟 num = FormatNumber(num, 2) CAuLinux联盟 Dim numList CAuLinux联盟 Dim rmbList CAuLinux联盟 Dim numLen CAuLinux联盟 Dim numChar CAuLinux联盟 Dim numstr CAuLinux联盟 Dim n CAuLinux联盟 Dim n1, n2 CAuLinux联盟 Dim hz CAuLinux联盟 numList = "零壹贰叁肆伍陆柒捌玖" CAuLinux联盟 rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万" CAuLinux联盟 CAuLinux联盟 If num > 9999999999999.99 Then CAuLinux联盟 rmb = "超出范围的人民币值" CAuLinux联盟 Exit Function CAuLinux联盟 End If CAuLinux联盟 CAuLinux联盟 numstr = CStr(num * 100) CAuLinux联盟 numLen = Len(numstr) CAuLinux联盟 n = 1 CAuLinux联盟 Do While n <= numLen CAuLinux联盟 numChar = CInt(Mid(numstr, n, 1)) CAuLinux联盟 n1 = Mid(numList, numChar + 1, 1) CAuLinux联盟 n2 = Mid(rmbList, numLen - n + 1, 1) CAuLinux联盟 If Not n1 = "零" Then CAuLinux联盟 hz = hz + CStr(n1) + CStr(n2) CAuLinux联盟 Else CAuLinux联盟 If n2 = "亿" Or n2 = "万" Or n2 = "元" Or n1 = "零" Then CAuLinux联盟 Do While Right(hz, 1) = "零" CAuLinux联盟 hz = Left(hz, Len(hz) - 1) CAuLinux联盟 Loop CAuLinux联盟 End If CAuLinux联盟 If (n2 = "亿" Or (n2 = "万" And Right(hz, 1) <> "亿") Or n2 = "元") Then CAuLinux联盟 hz = hz + CStr(n2) CAuLinux联盟 Else CAuLinux联盟 If Left(Right(hz, 2), 1) = "零" Or Right(hz, 1) <> "亿" Then CAuLinux联盟 hz = hz + n1 CAuLinux联盟 End If CAuLinux联盟 End If CAuLinux联盟 End If CAuLinux联盟 n = n + 1 CAuLinux联盟 Loop CAuLinux联盟 Do While Right(hz, 1) = "零" CAuLinux联盟 hz = Left(hz, Len(hz) - 1) CAuLinux联盟 Loop CAuLinux联盟 If Right(hz, 1) = "元" Then CAuLinux联盟 hz = hz + "整" CAuLinux联盟 End If CAuLinux联盟 rmb = hz CAuLinux联盟 End Function CAuLinux联盟 CAuLinux联盟 %> CAuLinux联盟 CAuLinux联盟 CAuLinux联盟 这个版本解决了小数位不能到分的问题,处理方式符合会计方式! CAuLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|