将数字转换成汉字的一段ASP程序

程序|汉字|转换

'--------------------数字向汉字转换的函数集合  ------------------------
'作者:northsnow   
'日期:20051217
'调用方法:  a=convertNumToStr("1234.5678")
'功能: 将这样的串  1234.5678 转换成 一千二百三十四点五六七八
''将一串数字转成对应的汉字
 function convertNumToStr(pNum)
    dim oNum,rValue
    oNum=pNum:rValue=""
   
    '如果给定的不是合理的数字,则返回空串
    if not CheckPattern(oNum,z_PatNum) then
       ConvertNumToStr=rValue
       exit function
    end if  
   
    '将数字前面无用的0去掉
    set rLjc=new RegExp
    rLjc.Pattern="^0{2,}([^.])"
    oNum=rLjc.Replace(oNum,"$1")
    rLjc.Pattern="^0{2,}(\.)"
    oNum=rLjc.Replace(oNum,"0$1")
   
    '将小数点前后部分分开
    arrNum=split(oNum,".")
    frontNum=arrNum(0)
    backNum=""
    if ubound(arrNum)>0 then backNum=arrNum(1)
   
    '----  转换小数点前面的数----
    oLen=len(frontNum)
  
    if oLen=1 then   '只有一位
       rValue=convertNumToCC(frontNum)
    elseif oLen=2 then   '只有两位
       if(mid(frontNum,1,1))<>"1" then  rValue=convertNumToCC(mid(frontNum,1,1))
       rValue=rValue & getDigit(2)
       if(mid(frontNum,2,1))<>"0" then rValue=rValue & convertNumToCC(mid(frontNum,2,1))
    else   '大于两位的情况
       dim curPos,curNum,hasZero
       hasZero=false  '表明在此前有没有相连接的零
       for i=1 to oLen
          curPos=oLen-i + 1
          curNum=mid(frontNum,i,1)
          if cint(curNum)=0 then     '当前位数为零
              hasZero=true
              '当当前位为万位或者亿位,则进行处理
              if (curPos -1) mod 4=0 and curPos>4 then
     rValue=rValue & getDigit(curPos)
     end if
          else   '当前位数不是零
              if hasZero then
               rValue=rValue & "零"
      hasZero=false
     end if
     rValue=rValue & convertNumToCC(curNum) & getDigit(curPos)
          end if
       next 
    end if
   
    '转换小数点后面的
    if backNum<>"" then
       strBack=""
       for i=1 to len(backNum)
          strBack=strBack & convertNumToCC(mid(backNum,i,1))
       next
       rValue=rValue & "点" & strBack
    end if
    convertNumToStr=rValue
 end function
 
 
 ''将一个数字转成对应的汉字
 function convertNumToCC(pNum)
    select case pNum
      case 1:convertNumToCC="一"
      case 2:convertNumToCC="二"
      case 3:convertNumToCC="三"
      case 4:convertNumToCC="四"
      case 5:convertNumToCC="五"
      case 6:convertNumToCC="六"
      case 7:convertNumToCC="七"
      case 8:convertNumToCC="八"
      case 9:convertNumToCC="九"
      case 0:convertNumToCC="零"
    end select
 end function
 
 '根据位数返回对应的汉字
 function getDigit(oDigit)
    if (oDigit+2) mod 4=0 then
        getDigit="十"
    elseif (oDigit +1) mod 4=0 then
        getDigit="百"
    elseif oDigit mod 4=0 then
        getDigit="千"
    elseif (oDigit -1) mod 4=0 then
        if ((oDigit-1)/4) mod 2=0 then
            getDigit="亿"
        else
            getDigit="万"
        end if
    end if
 end function

时间: 2024-10-04 13:17:06

将数字转换成汉字的一段ASP程序的相关文章

php 把数字转换成汉字的代码_php技巧

直接上实例,写到 千亿上了. /** * @author ja颂 * 把数字1-1亿换成汉字表述,如:123->一百二十三 * @param [num] $num [数字] * @return [string] [string] */ function numToWord($num) { $chiNum = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); $chiUni = array('','十', '百', '千', '万',

把数字转换成汉字的php代码

 代码如下 复制代码 //将数字转换为汉字,比如1210转换为一千二百一十 $num = "842105580";//九位数 function del0($num) //去掉数字段前面的0 { return "".intval($num); } function n2c($x) //单个数字变汉字 { $arr_n = array("零","一","二","三","四"

JavaScript实现把数字转换成中文

  这篇文章主要介绍了JavaScript实现把数字转换成中文,本文直接给出实例代码,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

js字符串转换成数字与数字转换成字符串的实现方法

 本篇文章主要是对js字符串转换成数字与数字转换成字符串的实现方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 js字符串转换成数字   将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数.     举例: parseInt('123') : 返回 123(int): parseInt('1234xxx') : 返回 1234(int):   如果解析不到数字,则将返回一个NaN的值,可以用isNa

将数字转换成大写的人民币表达式的js函数

  将数字转换成大写的人民币,方法有很多,本例介绍的是使用js来完成的,看看下面的实现代码 function changeNumMoneyToChinese(money) { var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖&q

将数字转换成大写的人民币表达式的js函数_javascript技巧

将数字转换成大写的人民币,方法有很多,本例介绍的是使用js来完成的,看看下面的实现代码 function changeNumMoneyToChinese(money) { var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖&quo

python实现将英文单词表示的数字转换成阿拉伯数字的方法

  本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

SQL SERVER函数将人民币数字转换成大写形式

  SQL SERVER函数将人民币数字转换成大写形式 CREATE FUNCTION [dbo].[f_num_chn] (@num numeric(14,5)) RETURNS varchar(100) WITH ENCRYPTION AS BEGIN DECLARE @n_data VARCHAR(20),@c_data VARCHAR(100),@n_str VARCHAR(10),@i int SET @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@num

Python实现把数字转换成中文

  这篇文章主要介绍了Python实现把数字转换成中文,一般用于数字金额转中文大写金额,即将阿拉伯数字转换为大写的中文,需要的朋友可以参考下 周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39