• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

货币数字转化为大写格式

发布: 2007-5-25 09:21 | 作者: sindia | 来源: 互联网 | 查看: 72次 | 进入软件测试论坛讨论

领测软件测试网


Dim CHAp(21, 1)
初始化:

    CHAp(0, 0) = "万": CHAp(0, 1) = 10000
    CHAp(1, 0) = "仟": CHAp(1, 1) = 1000
    CHAp(2, 0) = "佰": CHAp(2, 1) = 100
    CHAp(3, 0) = "拾": CHAp(3, 1) = 10
    CHAp(4, 0) = "元": CHAp(4, 1) = 1
    CHAp(5, 0) = "角": CHAp(5, 1) = 0.1
    CHAp(6, 0) = "分": CHAp(6, 1) = 0.01
    CHAp(11, 0) = "壹": CHAp(11, 1) = 1
    CHAp(12, 0) = "贰": CHAp(12, 1) = 2
    CHAp(13, 0) = "叁": CHAp(13, 1) = 3
    CHAp(14, 0) = "肆": CHAp(14, 1) = 4
    CHAp(15, 0) = "伍": CHAp(15, 1) = 5
    CHAp(16, 0) = "陆": CHAp(16, 1) = 6
    CHAp(17, 0) = "柒": CHAp(17, 1) = 7
    CHAp(18, 0) = "捌": CHAp(18, 1) = 8
    CHAp(19, 0) = "玖": CHAp(19, 1) = 9
    CHAp(20, 0) = "零": CHAp(20, 1) = 0
    CHAp(21, 0) = "亿": CHAp(21, 1) = 100000000

Function SubtoChinese(price As Integer)
'转化千百十
Dim i As Integer
Dim num(15) As Integer
i = 1
    Do Until price = 0
        num(i) = Int(price / CHAp(i, 1))
        If num(i) <> 0 Then
            SubtoChinese = SubtoChinese & CHAp(num(i) + 10, 0) & CHAp(i, 0)
            price = price - num(i) * CHAp(i, 1)
        Else
            If SubtoChinese <> "" And Right(SubtoChinese, 1) <> "零" Then
                SubtoChinese = SubtoChinese & "零"
            End If
        End If
        i = i + 1
    Loop
    If Right(SubtoChinese, 1) = "元" Then
        SubtoChinese = Left(SubtoChinese, Len(SubtoChinese) - 1)
    End If
End Function

Function PricetoChinese(price As Double)
    If price >= 100000000 Then   '大于1亿
        PricetoChinese = PricetoChinese & PricetoChinese(Int(price / 100000000)) & "亿"
        price = price - Int(price / 100000000) * 100000000
    End If
    If price >= 10000 Then
        PricetoChinese = PricetoChinese & SubtoChinese(Int(price / 10000)) & "万"
        price = price - Int(price / 10000) * 10000
    End If
    If Int(price) <> 0 Then '如果万与千间无数,则应添零
        If PricetoChinese <> "" And Int(price) < 1000 Then
            PricetoChinese = PricetoChinese & "零"
        End If
        PricetoChinese = PricetoChinese & SubtoChinese(Int(price))
        price = price - Int(price)
    End If
    If PricetoChinese <> "" Then PricetoChinese = PricetoChinese & "元"
    If price = 0 Then '到元为止
        PricetoChinese = PricetoChinese & "整"
    Else
        price = Int(price * 100)
        If Int(price / 10) <> 0 Then
            PricetoChinese = PricetoChinese & CHAp(Int(price / 10) + 10, 0) & "角"
            price = price - Int(price / 10) * 10
         End If
         If price <> 0 Then
            PricetoChinese = PricetoChinese & CHAp(Int(price) + 10, 0) & "分"
           
         End If
    End If
End Function
调用时:PricetoChinese(123432435.345)

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网