金额大小写转换的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

%>

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

时间: 2024-10-31 03:37:41

金额大小写转换的asp完全无错版本的相关文章

.NET下金额大小写转换

原文:.NET下金额大小写转换 说明:金额转换可以转换50位的数值,单位从分到级.对于中间部分是否显示零,可以根据修改TranslateJInen()函数修改.中间数值为零的去掉不显示 public string GetChCapitalNumber(string canshu)中间数值为零的显示public string GetChCapitalNumberFill(string canshu) using System;using System.Collections.Generic;usi

Excel表格中数字金额大小写转换函数

  实际相当于函数=NUMBERSTRING(1234567890,3),参数为3时,输出结果直接为独立数字大写. 实际相当于函数=NUMBERSTRING(1234567890,2),参数为2时,输出结果直接为金额大写. 实际相当于函数=NUMBERSTRING(1234567890,1),参数为2时,输出结果直接为整个数字的大写. value值用的是引用表格,和直接输入数字是一样

ASP和javaScript中的字母大小写转换函数代码

  ASP中的字母大小写转换代码,同时也给出了javascript中的代码,二者大家可参考比较,下面先来看ASP中的,脚本引擎基于VBScript: VBScript代码: str = "abcdE" str = UCASE(str) '大写 str = LCASE(str) '小写 JavaScript中的字母大小写转换,同样简单: str = "abcdE";str = str.toUpperCase();//大写str = str.toLowerCase();

字母大小写转换 算法-OJ上一道字母大小写转换的题

问题描述 OJ上一道字母大小写转换的题 OJ上的一道题,题目是:cAPS lOCK我写的代码链接:http://codepad.org/JrJrOGxQ 自己在编译器上编译时 没发现有什么错,但是在OJ上提交时出现:wrong answer on test 6不知道哪里错了 解决方案 大小写字母转换字母大小写转换字母大小写转换 解决方案二: 估计是不是你没有考虑对数字和其它字符的判断,导致没有通过测试用例. 我运行了你的程序,的确,对于如下情况,你的程序都没有问题:只有一个小写字母,比如z全部大

格式化人民币金额的一例ASP函数

格式化人民币金额的一例ASP函数,经常在一些财务报表中或金额计算中用到,建议收藏. 格式化人民币金额函数代码如下: [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

Python判断字符串与大小写转换

  这篇文章主要介绍了Python判断字符串与大小写转换的方法,有需要的小伙伴可以参考下. 判断字符串 ? 1 2 3 4 5 6 7 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字符都是小写 s.isupper() #所有字符都是大写 s.istitle() #所有单词都是首字母大写,像标题 s.isspace() #所有字符都是空白字符.t.n 大小写转换 ? 1 2

Excel表格数字大小写转换函数

  数字大小写转换函数: 实际相当于函数=NUMBERSTRING(1234567890,3),参数为3时,输出结果直接为独立数字大写. 实际相当于函数=NUMBERSTRING(1234567890,2),参数为2时,输出结果直接为金额大写. 实际相当于函数=NUMBERSTRING(1234567890,1),参数为1时,输出结果直接为整个数字的大写. value值用的是引用表格,和直接输入数字是一样.

javascript字母大小写转换的4个函数详解_javascript技巧

js中实现字母大小写转换主要用到了四个js函数: 1.toLocaleUpperCase2.toUpperCase3.toLocaleLowerCase4.toLowerCase 下面就这四个实现大小写转换的js函数逐一做简单的分析. 1.toLocaleUpperCase 将字符串中所有的字母字符都将被转换为大写的,同时适应宿主环境的当前区域设置. 2.toUpperCase 将字符串中的所有字母都被转化为大写字母. 3.toLocaleLowerCase 将字符串所有的字母字符都被转换为小写

机房收费系统:(二)VB中强制大小写转换和记录集操作

一.VB中大小写的转换      VB中自带字母大小写转换函数LCase和UCase.      格式:UCase(任何有效的string或char表达式),UCase(string),U就是upper的意思,就是变大:相反的就是,LCase(任何有效的string或char表达式)函数,就是转换成小写字符,用法同理,不再累述.      说明:   (1)参数必选项,可为任意有效的字符或者表达式.                    (2)如果 string 参数中包含 Null,则返回 N