一亿亿以下的阿拉伯数字转中文的自定义函数

本文介绍了一个将阿拉伯数字转换为汉字金额的VBScript程序。该程序能够处理包括小数点在内的数值,并将其转换成对应的汉字金额表示形式。适用于财务、会计等场景中对数字进行汉字金额转换的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Function trans(number As String) As String
Dim x As String, y As String
x = Split(number, ".")(0)
Const upcase = "○一二三四五六七八九 十百千万十百千万亿十百千万十百千万" '定义汉字
If Val(x) >= 10 ^ 16 Then MsgBox "数目太大,无法换算!请输入一亿亿以下的数字!", 64, "错误提示": Exit Function '只能转换一亿亿以下的数字!
If InStr(number, ".") > 0 Then
y = Split(number, ".")(1)
For i = 0 To 9
y = Replace(y, i, Mid(upcase, i + 1, 1))
Next
y = "点" & y
End If
For i = 1 To Len(x)
trans = trans & Mid(upcase, Mid(x, i, 1) + 1, 1) & Mid(upcase, Len(x) - i + 11, 1)
Next
trans = Replace(trans, "○千", "○")
trans = Replace(trans, "○百", "○")
trans = Replace(trans, "○十", "○")

Do While InStr(trans, "○○") > 0
trans = Replace(trans, "○○", "○")
Loop
trans = Replace(trans, "○亿", "亿")
trans = Replace(trans, "○万", "万")
If Val(x) < 20 Then trans = Replace(trans, "一十", "十")
trans = Trim(trans) & y
End Function

Private Sub Command1_Click()
MsgBox trans("67454801211.783450980896")
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值