怎么实现在vb中,金额大小写转换啊?

请问如何在vb中如何实现人民币金额大小写转换,要有输入窗体,可以随时随即输入数字进行转换,比如输入2300689066.89然后显示贰拾叁亿零仟零佰陆拾捌万玖仟零佰陆拾陆... 请问如何在vb中如何实现人民币金额大小写转换,要有输入窗体,可以随时随即输入数字进行转换,比如输入2300689066.89然后显示贰拾叁亿零仟零佰陆拾捌万玖仟零佰陆拾陆元捌角玖分整。 展开
 我来答
149005501
2013-10-25 · TA获得超过8.6万个赞
知道顶级答主
回答量:7.9万
采纳率:90%
帮助的人:1.4亿
展开全部

很容易啊,模块如下:

Function RMBChinese(ByVal Rmb As Double) As String
On Error Resume Next
Dim Rmbexp As String, Rmbda As String, Expda As String, Lent As Integer, Ntyp As Integer, Icnt As Integer, i As Integer, Trmb As String

Rmb = Format(Rmb, "###0.00")
If Rmb > 999999999999.99 Then
RMBChinese = "需转换的金额整数长度超过了12位!"
Exit Function
End If

Rmbexp = "分角元拾佰仟万拾佰仟亿拾佰仟"
Rmbda = "零壹贰叁肆伍陆柒捌玖"
Ntyp = 0
Trmb = Replace(CStr(Format(Rmb, "0.00")), ".", "")

If Left(Trmb, 1) = "-" Then
Trmb = Mid(Trmb, 2)
Ntyp = 1
End If

Expda = ""
Icnt = Len(Trmb)

For i = 1 To Icnt
Expda = Mid(Rmbda, Val(Mid(Trmb, Icnt - i + 1, 1)) + 1, 1) + IIf(Mid(Rmbexp, i, 1) = "元", Mid(Rmbexp, i, 1) + " ", Mid(Rmbexp, i, 1)) + Expda
Next
RMBChinese = IIf(Ntyp = 1, "负" + Expda, Expda)
End Function
追问
请将完整的程序代码和运行vb的截图给我 谢谢
追答

你是刚学VB的新手吧,上面的就是完整的转换模块了啊。

你要新建模块,把上面的代码写入,保存就可以用了。

比如你要转换TEXT1里的123.45到TEXT2里转为大写,只要在按钮命令里输入:

Private Sub Command1_Click()
Text2=RMBChinese(Text1)

End Sub

也就是说,你只要在任何需要转换的地方,用函数RMBChinese就可以转换了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式