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

2016-01-29 17:50 17 1 收藏

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

【 tulaoshi.com - 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

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

%

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


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

 

 

来源:https://www.tulaoshi.com/n/20160129/1503175.html

延伸阅读
标签: 电脑入门
经常用Word的朋友都知道,在Word中可以方便地更改英文字符的大写、小写、句首字母大写和词首字母大写。 但这些功能Excel没有,如果想在Excel中使用这些功能就必须手动修改或者用复杂的公式来进行转换。其实我们可以编写相关的宏,一劳永逸地解决这个问题。 首先绘制四个命令按钮,将按钮上的文字更改为全部大写、全部小写、句首字母大写和词...
标签: 办公软件
在某些Word文档中,有时需要改变已录英文的大小写、全半角状态。更改大小写功能可以快速地完成这些工作。方法如下: 1.选定要改变大小写的字符。 2.执行“格式”→“更改大小写”,打开“更改大小写”对话框。 3.在此对话框中,根据需要进行以下选择: “句首字母大写”:将所选文本的第一个单词的第一个字母改为大写。...
标签: Web开发
javascript 中 indexOf 是严格区分大小写的 如何才能忽略大小写呢? 把他们全都换成大写或小写,再比较就可以了 indexOf对象内第一次出现子字符串的字符位置 用toLowerCase或toUpperCase scriptvar testStr = 'ABCDEF';var subStr = 'bcd'; alert(testStr.toLowerCase().indexOf(subStr.toLowerC...
标签: SQLServer
  原作在SQL 2000中有一些问题。修正错误并在SQL 2000中运行通过。 /******************************************************** 作者:(wleii165@yahoo.com) 版本:1.0 创建时间:20020227 修改时间: 功能:小写金额转换成大写 参数:n_LowerMoney 小写金额          &nb...
标签: 电脑入门
经常用Word的朋友都知道,在Word中可以方便地更改英文字符的大写、小写、句首字母大写和词首字母大写(图1)。 电脑教程 但这些功能Excel没有,如果想在Excel中使用这些功能就必须手动修改或者用复杂的公式来进行转换。其实我们可以编写相关的宏,一劳永逸地解决这个问题。 首先绘制四个命令按钮,将按钮上的文字更改为全部大写、全部小写...

经验教程

949

收藏

100
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部