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

雪乡自助游

雪乡自助游

2016-01-29 17:50

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

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/asp/)


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

%

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/asp/)


这个版本解决了小数位不能到分的问题,处理方式符合会计方式!

 

 
展开更多 50%)
分享

猜你喜欢

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

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

巧用Excel 转换人民币大小写

电脑入门
巧用Excel 转换人民币大小写

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何区分大小写比较?

SQLServer
如何区分大小写比较?

WPS文字大小写字母转换

电脑入门
WPS文字大小写字母转换

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

WPS文字大小写字母转换方法

电脑入门
WPS文字大小写字母转换方法

delphi编程小写金额转换

编程语言 网络编程
delphi编程小写金额转换

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Word入门教程:设置背景

Word入门教程:设置背景

Photoshop初学者实例教程:巧借S字母制作逼真电话线

Photoshop初学者实例教程:巧借S字母制作逼真电话线
下拉加载更多内容 ↓