金额大小写转换的asp完全无错版本
2009-03-30 19:24:31 作者:ASP编程 来源:电脑高手哦 浏览次数:0 网友评论 0 条
<!--#include file=common.asp--><%dim tmpnum'从第一张页面传过来的小写金额tmpnum=request("page1num")'调用并显示大写金额response.write rmb(cdbl(tmpnum))response.end%>common.asp<%Function rmb(num)num = ...
<!--#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
%>
这个版本解决了小数位不能到分的问题,处理方式符合会计方式!
金额大小写转换的asp完全无错版本是www1098t.com的会员在asp编程最新发表的,同时也欢迎你就金额大小写转换的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
%>
这个版本解决了小数位不能到分的问题,处理方式符合会计方式!
金额大小写转换的asp完全无错版本是www1098t.com的会员在asp编程最新发表的,同时也欢迎你就金额大小写转换的asp完全无错版本提问.欢迎来到我们的服务器编程网站查询大小写,金额,版本的文章.
相关文章
[错误报告] [推荐] [收藏] [打印] [关闭] [返回顶部]


已有