|
 |
asp金额大小写转换代码 |
作者:admin 发表时间:2015/12/9 人气: |
|
|
<!--#include file=conn.asp--> <% dim tmpnum '从第一张页面传过来的小写金额 tmpnum=request("page1num") '调用并显示大写金额 response.write rmb(cdbl(tmpnum)) response.end %>
conn.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 \thz = hz + CStr(n1) + CStr(n2) Else \tIf n2 = "亿" Or n2 = "万" Or n2 = "元" Or n1 = "零" Then \t Do While Right(hz, 1) = "零" \t hz = Left(hz, Len(hz) - 1) \t Loop \tEnd If \tIf (n2 = "亿" Or (n2 = "万" And Right(hz, 1) <> "亿") Or n2 = "元") Then \t hz = hz + CStr(n2) \tElse \t If Left(Right(hz, 2), 1) = "零" Or Right(hz, 1) <> "亿" Then \t\thz = hz + n1 \t End If \tEnd 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
%>
此代码解决了小数位不能到分的问题,处理方式符合会计方式!
文章来源:www.sensheng.net.cn |
文章点评 |
|
|
 |
|
|