`
wind13
  • 浏览: 19333 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

新写了一个转中文大写金额的ASP函数

阅读更多

'格式化中文金额的方法
'@ prmtType 为"A" 时表示返回带零的全字串,否则返回中文习惯的金额
'调用方法:FormatChineseMoney(30503.34,"")

Function FormatChineseMoney(prmtMoney,prmtType)
 dim strMoney,strMoneyLeft,strMoneyRight
 if IsNumeric(prmtMoney) then
  strMoney=FormatCurrency(prmtMoney,2,-1,0,0)
  dim regMoney
  Set regMoney = New RegExp   ' 创建正则表达式。
  regMoney.Pattern = "^[¥|\$]?[+|-]?(\d+)?(?:\.(\d{1,2}))?$"   ' 设置模式。
  regMoney.IgnoreCase = True   ' 设置是否区分大小写。
  regMoney.Global = True   ' 设置全程匹配。
  if regMoney.test(strMoney) then
   Set oMatches = regMoney.Execute(strMoney)
   Set oMatch = oMatches(0)
   strMoneyLeft=oMatch.SubMatches(0)
   strMoneyRight=oMatch.SubMatches(1)
   FormatChineseMoney=ReplaceMoneyLeft(oMatch.SubMatches(0),prmtType)&ReplaceMoneyRight(oMatch.SubMatches(1),prmtType)&"整"
  else
   FormatChineseMoney="所传金钱金额不合规则!"
  end if
 else
  FormatChineseMoney="所传金钱金额不是数字!"
 end if
end Function

Function ReplaceMoneyLeft(prmtMoney,prmtType)
 dim intLenMoney,aryK,aryW,aryN,intModI,sNum,sNumA,i
 intLenMoney=Len(prmtMoney)
 aryK=Array("","拾","佰","仟")
 aryW=Array("","元","万","亿")
 aryN=Array("零","壹","贰","叄","肆","伍","陆","柒","捌","玖")
 for i=1 to intLenMoney
  sNum=aryN(Mid(prmtMoney,intLenMoney-i+1,1))&aryK((i-1) Mod 4)&aryW(GetWYIndex(i))&sNum
  sNumA="<span class=""spanCNMoneyMoney""> "&aryN(Mid(prmtMoney,intLenMoney-i+1,1))&" </span>"&"<span class=""spanCNMoneyUnit""> "&aryK((i-1) Mod 4)&aryW(GetWYIndex(i))&" </span>"&sNumA
 next
 if prmtType="A" then
  ReplaceMoneyLeft=sNumA
 else
  ReplaceMoneyLeft=ReplaceCNZeroLeft(sNum)
 end if
End Function

Function ReplaceMoneyRight(prmtMoney,prmtType)
 dim intLenMoney,aryF,aryN,intModI,sNum,sNumA,i
 intLenMoney=Len(prmtMoney)
 aryF=Array("","角","分")
 aryN=Array("零","壹","贰","叄","肆","伍","陆","柒","捌","玖")
 for i=intLenMoney to 1 step -1
  sNum=aryN(Mid(prmtMoney,i,1))&aryF(i)&sNum
  'response.Write(i&prmtMoney&Mid(prmtMoney,i,1)&aryN(Mid(prmtMoney,i,1)))
  sNumA="<span class=""spanCNMoneyMoney""> "&aryN(Mid(prmtMoney,i,1))&" </span>"&"<span class=""spanCNMoneyUnit""> "&aryF(i)&" </span>"&sNumA
 next
 if prmtType="A" then
  ReplaceMoneyRight=sNumA
 else
  ReplaceMoneyRight=ReplaceCNZeroRight(sNum)
 end if
End Function

Function GetWYIndex(prmtIndex)
 if prmtIndex=1 then
  GetWYIndex=1
 elseif ((prmtIndex-5) mod 8)=0 then
  GetWYIndex=2
 elseif  ((prmtIndex-1) mod 8)=0 then
  GetWYIndex=3
 else
  GetWYIndex=0
 end if
End Function

Function ReplaceCNZeroLeft(prmtStrCNMoney)
 ReplaceCNZeroLeft=prmtStrCNMoney
 ReplaceCNZeroLeft=replace(ReplaceCNZeroLeft,"零仟","零")
 ReplaceCNZeroLeft=replace(ReplaceCNZeroLeft,"零佰","零")
 ReplaceCNZeroLeft=replace(ReplaceCNZeroLeft,"零拾","零")
 dim regExZero
 Set regExZero = New RegExp   ' 创建正则表达式。
 regExZero.IgnoreCase = True   ' 设置是否区分大小写。
 regExZero.Global = True   ' 设置全程匹配。
 regExZero.Pattern = "零+"
 ReplaceCNZeroLeft=regExZero.replace(ReplaceCNZeroLeft,"零")
 ReplaceCNZeroLeft=replace(ReplaceCNZeroLeft,"零万","万")
 ReplaceCNZeroLeft=replace(ReplaceCNZeroLeft,"零亿","亿")
 ReplaceCNZeroLeft=replace(ReplaceCNZeroLeft,"零元","元")
 ReplaceCNZeroLeft=replace(ReplaceCNZeroLeft,"亿万","亿零")
End Function

Function ReplaceCNZeroRight(prmtStrCNMoney)
 ReplaceCNZeroRight=prmtStrCNMoney
 ReplaceCNZeroRight=replace(ReplaceCNZeroRight,"零角","零")
 dim regExZero
 Set regExZero = New RegExp   ' 创建正则表达式。
 regExZero.IgnoreCase = True   ' 设置是否区分大小写。
 regExZero.Global = True   ' 设置全程匹配。
 regExZero.Pattern = "零+分"
 ReplaceCNZeroRight=regExZero.replace(ReplaceCNZeroRight,"")
End Function

分享到:
评论

相关推荐

    FastReport小写金额转大写

    本例中的代码展示了一个具体的实现过程,用于将货币类型的数值(小写金额)转换为汉字大写形式。 #### 实现原理与步骤 1. **初始化与预处理**:首先,定义一个函数`jezh(xxje:currency):String;`,接收一个货币...

    ASP将数字转中文数字(大写金额)的函数

    本文将详细讲解如何在ASP中将数字转换为中文数字(大写金额)的两种函数实现方法。 首先,我们来看第一种方法。这个函数名为`Money`,它接受一个数字作为参数`thenumber`。函数内部定义了多个变量,包括`Money`、`i...

    asp.net(vb)实现金额转换成大写的函数

    代码如下: ”’ &lt;summary&gt; ”’ 将数据转换为Double数字 ”’ &lt;/summary&gt; ”’ ”Obj”&gt;&lt;/param&gt; ”’ &lt;returns&gt;&lt;/returns&gt; ”’ &lt;remarks&gt;&lt;/remarks&gt; Public Shared Function todbl(ByVal Obj As Object) As Double...

    asp转换函数

    与`Asc`相反,`Chr`函数将一个ASCII码值转换为相应的字符。例如,ASCII值65转换为字符"A",97转换为"a"。这对于构建字符串或解析基于ASCII码的数据时很有帮助。 ```vb Dim MyChar MyChar = Chr(65) ' 结果为 "A" ...

    ASP函数大全 asp自带函数以及用户创建函数

    `ASP函数.CHM`是一个帮助文件,通常包含了更详细的ASP函数使用方法、示例和API参考。CHM文件是微软的HTML帮助文件格式,可以方便地查阅和搜索相关函数的详细信息。通过打开这个文件,开发者可以深入学习每个函数的...

    人民币转换成大写

    在这个例子中,我们定义了一个名为`RMBToBigChar`的函数,它接受一个数字字符串作为输入,然后将其转换为相应的中文大写形式。首先,我们创建了两个字符串变量,`BigChars`存储中文数字字符,`NumArray`则存储对应的...

    asp.net数字转换中文

    标题"asp.net数字转换中文"所指的就是如何在ASP.NET环境下实现数字到中文汉字的转换功能。描述中的“数字与中文间的转换,如123=一百二十三”进一步明确了这个需求,即输入一个数字,输出对应的中文全拼或中文大写。...

    JavaScript 动态将数字金额转化为中文大写金额

    本篇文章介绍了一个使用JavaScript编写的函数,用于将数字金额(例如:123456.78)转换为对应的中文大写形式(例如:“壹拾贰万叁仟肆佰伍拾陆元柒角捌分”)。 #### 实现细节 该函数名为`convertCurrency`,主要...

    ASP函数大全ASP函数大全

    - 这些函数用于转换字符串的大小写:`UCase`转为全大写,`LCase`转为全小写,`Proper`首字母大写其余小写。 13. **Split函数**: - `Split`函数将字符串分割成数组,如`Dim arr = Split("a,b,c", ",")`将返回包含...

    asp 取得中文句子头一个字的大写拼音字母的函数

    总之,`getpychar`函数是ASP环境下处理中文字符的一种实用工具,能够方便地获取中文句子第一个字的大写拼音首字母。然而,为了适应更广泛的应用场景,开发者可能需要对其进行一些改进,比如增加对多音字的支持,添加...

    网页编程-ASP字符串函数大全

    7. **StrComp()** - 这个函数比较两个字符串,并返回一个值来表示它们的关系:0表示相等,-1表示第一个字符串小于第二个,1表示第一个字符串大于第二个。比较可以是二进制的(区分大小写)或文本的(不区分大小写)...

    asp内置函数列表及其对应功能

    在ASP中,内置函数是预定义的、可以直接使用的函数,它们简化了编程工作,提供了处理常见任务的能力。以下是一些重要的ASP内置函数及其功能的详细说明: 1. **Response对象的Write方法**:这是ASP中最基本的输出...

    ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase

    在编程语言ASP (Active Server Pages) 中,处理字符串大小写转换是一个基础且常见的操作。ASP主要是使用VBScript(VBS)作为脚本语言,而VBS提供了内置的函数用于在字符串的大小写之间进行转换。这些函数分别是LCase...

    fif版asp函数手册及asp帮助手册中文版

    总的来说,"fif版asp函数手册及asp帮助手册中文版"是一个宝贵的资源,无论你是新手还是资深开发者,都能从中获益匪浅。学习并熟练掌握ASP,能让你更好地构建动态、交互性强的Web应用,满足各种业务需求。

    asp基础函数教程函数手册

    通过阅读"asp函数教程.txt",你可以深入了解每个函数的使用方式和应用场景,从而提高开发效率。记住,实践是最好的老师,多动手编写代码,结合这些函数来解决实际问题,你的ASP技能将会迅速提升。

    asp函数收藏 asp的经典集

    1. **Array()**:这个函数用于创建一个数组,它接受一个列表作为参数,并返回一个包含这些元素的数组。例如,在提供的代码中,`Array(WeekdayName(i))`为一周的每一天创建了一个数组。 2. **CInt()**:CInt函数将一...

    ASP函数大全.rar

    这个"ASP函数大全.rar"文件显然是一份详细的ASP函数参考文档,包含了ASP中常用的函数及其用法,以TXT文本格式呈现。在网站开发过程中,ASP函数是构建功能丰富的交互式网页的关键工具。 首先,我们要了解ASP的基础。...

Global site tag (gtag.js) - Google Analytics