| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 962 人关注过本帖
标题:求助纠错小程序,求各位大侠们的帮助
取消只看楼主 加入收藏
winorange
Rank: 1
来 自:浙江宁波
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2008-3-29
收藏
 问题点数:0 回复次数:4 
求助纠错小程序,求各位大侠们的帮助
本来刚学没多久,想做个从数字转化为中文大写的小程序,可是当我输入“1”时,结果为 “壹拾壹” “2”时,结果为“贰拾贰”“123”时结果为 “壹仟壹佰贰拾”叁 。
Dim f, l, i As Integer
        Dim y As String
        Dim b As String
        Dim t As String
        f = Val(TextBox3.Text) ’先将输入框转成数字,以便将字符去除
        b = Str(f)  ’再将数字转为文
        l = Len(b)  ’求输入文本的长度
        For i = 1 To l ’对输入文本的最后一位开始,一位一位的转为中文大写的中文字符
            Select Case Mid$(b, l - i + 1, 1)
                Case 0
                    y = "零"
                Case 1
                    y = "壹"
                Case 2
                    y = "贰"
                Case 3
                    y = "叁"
                Case 4
                    y = "肆"
                Case 5
                    y = "伍"
                Case 6
                    y = "陆"
                Case 7
                    y = "柒"
                Case 8
                    y = "捌"
                Case 9
                    y = "玖"
                Case 10
                    y = "拾"
            End Select
            t = t & y ’将转换后的中文字符以原字符的最后一位为开始,一个一个相接,若输入时为“123”,则t为“叁贰壹”

        Next i

        Select Case Len(t) ‘对不同的输入长度作不同的输出判断
            Case 1
                TextBox4.Text = t
            Case 2
                TextBox4.Text = Mid$(t, 2, 1) & "拾" & Mid$(t, 1, 1)
            Case 3
                TextBox4.Text = Mid$(t, 3, 1) & "佰" & Mid$(t, 2, 1) & "拾" & Mid$(t, 1, 1)
            Case 4
                TextBox4.Text = Mid$(t, 4, 1) & "仟" & Mid$(t, 3, 1) & "佰" & Mid$(t, 2, 1) & "拾" & Mid$(t, 1, 1)
            Case 5
                TextBox4.Text = Mid$(t, 5, 1) & "万" & Mid$(t, 4, 1) & "仟" & Mid$(t, 3, 1) & "佰" & Mid$(t, 2, 1) & "拾" & Mid$(t, 1, 1)
            Case 6
                TextBox4.Text = Mid$(t, 6, 1) & "拾" & Mid$(t, 5, 1) & "万" & Mid$(t, 4, 1) & "仟" & Mid$(t, 3, 1) & "佰" & Mid$(t, 2, 1) & "拾" & Mid$(t, 1, 1)
            Case 7
                TextBox4.Text = Mid$(t, 7, 1) & "佰" & Mid$(t, 6, 1) & "拾" & Mid$(t, 5, 1) & "万" & Mid$(t, 4, 1) & "仟" & Mid$(t, 3, 1) & "佰" & Mid$(t, 2, 1) & "拾" & Mid$(t, 1, 1)
            Case 8
                TextBox4.Text = Mid$(t, 8, 1) & "仟" & Mid$(t, 7, 1) & "佰" & Mid$(t, 6, 1) & "拾" & Mid$(t, 5, 1) & "万" & Mid$(t, 4, 1) & "仟" & Mid$(t, 3, 1) & "佰" & Mid$(t, 2, 1) & "拾" & Mid$(t, 1, 1)
            Case 9
                TextBox4.Text = Mid$(t, 9, 1) & "亿" & Mid$(t, 8, 1) & "仟" & Mid$(t, 7, 1) & "佰" & Mid$(t, 6, 1) & "拾" & Mid$(t, 5, 1) & "万" & Mid$(t, 4, 1) & "仟" & Mid$(t, 3, 1) & "佰" & Mid$(t, 2, 1) & "拾" & Mid$(t, 1, 1)
        End Select
    End Sub
搜索更多相关主题的帖子: 纠错 
2008-05-05 20:35
winorange
Rank: 1
来 自:浙江宁波
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2008-3-29
收藏
得分:0 
根据结果,我将后面的一个select的 每一个case结果的第一个mid及其参数去除后,又能显示正确的结果了,但我还是不知道是怎么回事。

处处尽力尽快,一切顺其自然。
2008-05-05 20:45
winorange
Rank: 1
来 自:浙江宁波
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2008-3-29
收藏
得分:0 
是不是起始位置的后面一位开始取,而不是从起始位置开始取。那样的话,就说的过去了。

处处尽力尽快,一切顺其自然。
2008-05-05 20:48
winorange
Rank: 1
来 自:浙江宁波
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2008-3-29
收藏
得分:0 
最后一位为时,如何让最后一位不显示出零,不然不合常规,比如“10”的时候,他会显示“壹拾零”

处处尽力尽快,一切顺其自然。
2008-05-05 21:02
winorange
Rank: 1
来 自:浙江宁波
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2008-3-29
收藏
得分:0 
谢谢兄弟。

处处尽力尽快,一切顺其自然。
2008-05-06 14:44
快速回复:求助纠错小程序,求各位大侠们的帮助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033536 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved