• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.0
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.3
软件大小:29.2M
更新时间:06-14

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[分享脚本] 阿拉伯数字转中文大写,最大可实现15位数字! [复制链接]

1#
  1. TracePrint 阿拉伯数字转中文读法(123456789012345, True)
  2. '调试输出:壹佰贰拾叁兆肆仟伍佰陆拾柒亿捌仟玖佰零壹万贰仟叁佰肆拾伍

  3. TracePrint 阿拉伯数字转中文读法(10050, True)
  4. '调试输出:壹万零拾伍
复制代码
  1. Function 阿拉伯数字转中文读法(阿拉伯数字, 是否大写)
  2.     Dim i, l, zh, arr1, arr2, arrW1, arrW2, temp, Numer, IgnoreCase
  3.     arr1 = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九")
  4.     arr2 = Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖")
  5.     arrW1 = Array("", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "兆")
  6.     arrW2 = Array("", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "兆")
  7.     Numer = 阿拉伯数字
  8.     IgnoreCase = 是否大写
  9.     l = Len(Numer)
  10.     If l <= 15 Then
  11.         For i = 1 To l
  12.             If IgnoreCase Then
  13.                 If Mid(Numer, i, 1) = "0" And (l - i) Mod 4 = 0 Then
  14.                     If Right(zh,1) = "〇" Or Right(zh,1) = "零" Then zh = Left(zh, Len(zh) - 1)
  15.                     If Right(zh,1) <> "万" And Right(zh,1) <> "亿" And Right(zh,1) <> "兆" Then zh = zh & arrW2(l-i)
  16.                 End If
  17.                 If Mid(Numer, i, 1) = "0" And Right(zh, 1) <> "零" Then
  18.                     zh = zh & arr2(Mid(Numer, i, 1))
  19.                 ElseIf Mid(Numer, i, 1) <> "0" Then
  20.                     zh = zh & arr2(Mid(Numer, i, 1)) & arrW2(l-i)
  21.                 End If
  22.             Else
  23.                 If Mid(Numer, i, 1) = "0" And (l - i) Mod 4 = 0 Then
  24.                     If Right(zh,1) = "〇" Or Right(zh,1) = "零" Then zh = Left(zh, Len(zh) - 1)
  25.                     If Right(zh,1) <> "万" And Right(zh,1) <> "亿" And Right(zh,1) <> "兆" Then zh = zh & arrW2(l-i)
  26.                 End If
  27.                 If Mid(Numer, i, 1) = "0" And Right(zh, 1) <> "〇" Then
  28.                     zh = zh & arr1(Mid(Numer, i, 1))
  29.                 ElseIf Mid(Numer, i, 1) <> "0" Then
  30.                     zh = zh & arr1(Mid(Numer, i, 1)) & arrW1(l - i)
  31.                 ElseIf (l-i) Mod 4 = 0 Then
  32.                     zh = zh & arrW1(l-i)
  33.                 End If
  34.             End If
  35.             temp = Mid(Numer, i, 1)
  36.         Next
  37.         If Right(zh,1) = "〇" Or Right(zh,1) = "零" Then
  38.             zh = Left(zh, Len(zh) - 1)
  39.         End If
  40.         阿拉伯数字转中文读法 = zh
  41.     Else
  42.         TracePrint "溢出!"
  43.     End If
  44. End Function
复制代码

最后编辑神梦科技 最后编辑于 2017-10-21 14:32:46
2#

15位,比我狠

3#

  1. TracePrint 阿拉伯数字转中文读法(10115, True)
复制代码
脚本 我的脚本1.q ,第1行:壹佰零壹兆壹仟伍佰

楼主,代码有问题吧?我是用2014.03.16480运行的。

4#

看看实现方法,学习一下

承接各类脚本 联系QQ: 9940 0460


PC,安卓,模拟器,脚本定制!
5#

什么原理

6#

看看学习下

7#

怎么流行起做这个来

按键会友,共同进步,QQ 3766 9324地下城堡2辅助交流http://bbs.anjian.com/showtopic-660386-1.aspx
8#

有BUG,虽然没有什么用还是指出来好

按键会友,共同进步,QQ 3766 9324地下城堡2辅助交流http://bbs.anjian.com/showtopic-660386-1.aspx
9#

可以改写 大小字母

10#

牛鼻子

11#

进来学习学习

12#

回复 1楼神梦科技的帖子

大的BUG没发现。
301568 → 叁拾万零壹仟伍佰陆拾捌
只是有一个问题,在兆、亿、万前的零要不要读出来

13#

学习一下

14#

向楼主学习,谢谢楼主分享!

15#

学习数字识别

16#

我来看一下

17#

高手就是高手,学习了

18#

可以学习学习

19#

阿拉伯数字转中文大写,最大可实现15位数字!

20#

学习学习

发新话题 回复该主题