频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> asp教程 -> 数字小写到英文大写的转换

数字小写到英文大写的转换

作者:佚名  来源:转载  发布时间:2005-7-18 11:24:43  发布人:acx

减小字体 增大字体

<%

FUNCTION convertsz(sz)

'PARAMETERS sz

'PRIVATE xs,sz1,sz2,sz3

        IF sz > 1000000000 then '超过处理范围提示
        
           convertsz="Number is too big" '数字大于10亿,超过处理范围!
        exit FUNCTION
        END IF

sz=INT(sz*100+0.5)/100   ' 小数超过两位四舍五入

xs=((sz-int(sz))*100) MOD 100   ' 取小数点后两位有效数字

IF xs>0 then

    'cha=" AND"&conv3;(xs)&" CENTS"   ' 转换小数
     cha=" AND "&xs;&" CENTS"

ELSE

    cha=""

END IF

sz1=INT((sz MOD 1000))       ' sz1为百、十、个3位数字

sz=INT(sz/1000)             ' sz为千位以上数字(含千位)

cha=conv3(sz1)&cha;          ' 转换(sz1)

        IF sz>0 then
        
            sz2=(sz MOD 1000)        ' sz2为十万、万、千3位数字
         
            sz=INT(sz/1000)         ' sz为百万位以上数字(含百万位)
        
                    IF sz2=0 then
                        
                                IF sz1=0  then         ' (sz2)如果为'0',判断在百位之前是否加'AND'
                        
                                    cha=cha
                        
                                ELSE
                        
                                    cha=" AND"&cha;
                        
                                END IF
                
                    ELSE
                
                               cha=conv3(sz2)&" THOUSAND"&cha;   ' 如果不为'0'转换(sz2)
                
                    END IF
        
                    IF sz>0 then
                
                        sz3=(sz MOD 1000)                                ' sz3为亿、千万、百万3位数字
                
                        cha=conv3(sz3)&" MILLION"&cha;                   ' 转换(sz3)
                
                    END IF
        
        END IF

'cha="DOLLAR"&cha;                    ' 在转换的结果之前加'DOLLAR'

'RETURN cha
convertsz=cha

end FUNCTION


FUNCTION conv3(je)

'PARAMETERS je

'PRIVATE jews,je1,je2,je3,tmp

IF je<=0 then

    convertsz=""
    exit FUNCTION

END IF

je1=(je MOD 10)

je=INT(je/10)

            IF je=0 then                 ' 判断数字位数(1-3)并把3位数字分别存放在je1、je2、je3中
            
                jews=1
            
            ELSE
            
                je2=(je MOD 10)
            
                je=INT(je/10)
            
                            IF je=0 then
                        
                                jews=2
                        
                            ELSE
                        
                                je3=(je MOD 10)
                        
                                jews=3
                        
                            END IF
            
            END IF

IF jews=1 then

    tmp=conv1(je1)   '如果位数为1,直接转换
    
    conv3=tmp
    
    'exit FUNCTION
    'RETURN tmp

ELSE

    IF je1+10*je2<20 then      ' 转换20以下数字

        tmp=conv1(je1+10*je2)

    ELSE                       ' 转换20-99数字

        IF je1=0 then

            tmp=conv2(je2)

        ELSE

            'tmp=conv2(je2)&" -"&conv1;(je1)
            tmp=conv2(je2)&conv1;(je1)


        END IF

    END IF

    IF jews=3 then     '转换百位数字

        IF je1+10*je2=0 then

            tmp=conv1(je3)&" HUNDRED"

        ELSE

            IF je1+10*je2<20 then

                tmp=conv1(je3)&" HUNDRED  AND"&tmp;

            ELSE

                tmp=conv1(je3)&" HUNDRED"&tmp;

            END IF

        END IF

    END IF

    conv3=tmp

END IF

end FUNCTION


FUNCTION conv2(SUM)

'PARAMETERS SUM
aaa=""
select CASE SUM

    CASE 2

        aaa=" TWENTY"

    CASE 3

        aaa=" THIRTY"

    CASE 4

        aaa=" FORTY"

    CASE 5

        aaa=" FIFTY"

    CASE 6

        aaa=" SIXTY"

    CASE 7

        aaa=" SEVENTY"

    CASE 8

        aaa=" EIGHTY"

    CASE 9

        aaa=" NINETY"

  

END select

conv2=aaa

end FUNCTION


FUNCTION conv1(SUM)

'PARAMETERS SUM
aaa=""
select CASE SUM

    CASE 1

        aaa=" ONE"

    CASE 2

        aaa=" TWO"

    CASE 3

       aaa=" THREE"

    CASE 4

       aaa=" FOUR"

    CASE 5

        aaa=" FIVE"

    CASE 6

        aaa=" SIX"

    CASE 7

        aaa=" SEVEN"

    CASE 8

        aaa=" EIGHT"

    CASE 9

        aaa=" NINE"

    CASE 10

        aaa=" TEN"

    CASE 11

        aaa=" ELEVEN"

    CASE 12

        aaa=" TWELVE"

    CASE 13

        aaa=" THIRTEEN"

    CASE SUM=14

        aaa=" FOURTEEN"

    CASE 15

        aaa=" FIFTEEN"

    CASE 16

        aaa=" SIXTEEN"

    CASE 17

        aaa=" SEVENTEEN"

    CASE 18

        aaa=" EIGHTEEN"

    CASE SUM=19

        aaa=" NINETEEN"



END select

conv1=aaa

end FUNCTION


fff=123456789.45

response.write fff&"
"

xx=convertsz(fff)


response.write xx

%>


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 生死符 八种必死网站探密..
· flash5 的14项新功能
· 着手制作flashmv以前的心..
· SQL Server轻松掌握如何..
· 利用FrontPage 2003轻松..
· Google否认发布Linux桌面..
· 站长必读:网站成长的SE..
· Google关键字广告疑侵权..
· 《信息周刊》:新应用 新..
· 减轻JavaScript测试和调..
· SQL Server数据库技术(..
· 微软建议的ASP性能优化2..
· 荆林波:电子商务发展需..
· 263g.net免费40M支持ASP..
· .NET之ASP WebApplicati..
· 如何将脚本放在页面里?..
相关文章
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号