Foxtable(狐表)用户栏目专家坐堂 → [求助] 阿拉伯数字转汉字小写格式


  共有2924人关注过本帖树形打印复制链接

主题:[求助] 阿拉伯数字转汉字小写格式

帅哥哟,离线,有人找我吗?
lsy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
[求助] 阿拉伯数字转汉字小写格式  发帖心情 Post By:2015/10/28 13:55:00 [显示全部帖子]

MessageBox.Show(CUNum(123)) :壹贰叁
MessageBox.Show(CUNumBer(123)):壹佰贰拾叁
MessageBox.Show(CLNum(123)):一二三

没有对应的CLNumber,要将123转成一百二十三,用什么函数呢?



 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/10/28 14:10:00 [显示全部帖子]

以下是引用大红袍在2015/10/28 14:07:00的发言:

直接替换,如

 

MessageBox.Show(CUNumBer(123).replace("", "一").replace("佰", "百").replace("贰","二"))



谢谢!

也是个变通的法子。


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/10/28 15:04:00 [显示全部帖子]

Dim t As Table = CurrentTable
Dim result As String

For i As Integer = 0 To t.Rows.Count - 1
    Dim str1 As String = "壹贰叁肆伍陆柒捌玖仟佰拾零"
    Dim str2 As String = "一二三四五六七八九千百十〇"
    result = CUNumBer(i + 1)
    For j As Integer = 0 To str1.Length - 1
        result = result.Replace(str1(j), str2(j))
    Next
    If i + 1 < 20 AndAlso result.StartsWith("一十") Then
        result = result.SubString(1)
    End If
    t.Rows(i)("列名") = "第" & result & "列"    
Next

 回到顶部