vb金额大写转换代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vb金额大写转换代码
VB金额大写转换代码
概述
在日常工作中,我们经常需要将数字金额转换为大写金额,以便于填写发票、合同等文书。
本文将介绍使用VB编写的金额大写转换代码。
实现思路
将数字金额按照一定的规则进行分割,然后根据规则进行转换,最后拼接成大写金额。
具体实现步骤如下:
1. 将数字金额分为整数部分和小数部分。
2. 将整数部分按照四位一组进行分割,每组之间添加“万”、“亿”等单位。
3. 对于每一组,再按照千位、百位、十位、个位的顺序进行转换,并
添加相应的单位。
4. 对于小数部分,先将其转化为整数部分处理。
处理完毕后,在最后加上“角”、“分”等单位。
5. 最后将整数部分和小数部分拼接起来,并加上“元”、“整”等单位即可。
代码实现
以下是使用VB编写的金额大写转换代码:
```
Public Function ConvertToChinese(ByVal d As Double) As String Dim strNum As String = d.ToString("F2")
Dim strInt As String = strNum.Split(".")(0)
Dim strDec As String = strNum.Split(".")(1)
Dim iLen As Integer = strInt.Length
Dim iUnit() As Integer = {100000000, 10000, 1000, 100, 10, 1} Dim strUnit() As String = {"亿", "万", "千", "百", "十", ""}
Dim strResult As String = ""
For i As Integer = 0 To iLen - 1
Dim iNum As Integer = Val(strInt.Substring(i, 1))
If iNum > 0 Then
strResult += GetChineseNum(iNum) & strUnit(iLen - i - 1) ElseIf i Mod 4 = 0 And (i < iLen - 1 OrElse d >= iUnit(2)) Then
strResult += strUnit(iLen - i - 1)
End If
Next
If Not strDec.Equals("00") Then
Dim iDec As Integer = Val(strDec)
If Not strResult.Equals("") Then
strResult += "零"
End If
If iDec >= 10 Then
strResult += GetChineseNum(Val(strDec.Substring(0, 1))) & "角"
If Not Val(strDec.Substring(1, 1)) = 0 Then
strResult += GetChineseNum(Val(strDec.Substring(1, 1))) & "分"
End If
Else
If Not Val(strDec.Substring(0, 1)) = 0 Then
strResult += GetChineseNum(Val(strDec.Substring(0, 1))) & "角"
End If
If Not Val(strDec.Substring(1, 1)) = 0 Then
strResult += GetChineseNum(Val(strDec.Substring(1, 1))) & "分"
End If
End If
Else
strResult += "整"
End If
Return strResult
End Function
Private Function GetChineseNum(ByVal i As Integer) As String Dim strNum() As String = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}
Return strNum(i)
End Function
```
代码解析
1. 首先将传入的数字金额转换为字符串,并分割成整数部分和小数部
分。
2. 定义一个数组iUnit,用于存储每一组的单位;定义一个数组strUnit,用于存储每一组的单位名称。
3. 使用For循环遍历整数部分的每一位数字。
如果这个数字不为0,
则调用GetChineseNum函数获取对应的中文数字,并添加上相应的
单位。
如果这个数字为0,则需要判断是否需要添加“万”、“亿”等单位。
4. 对于小数部分,先将其转化为整数部分处理。
如果小数部分不为0,则需要在最后加上“角”、“分”等单位;否则,直接加上“整”即可。
5. GetChineseNum函数用于将阿拉伯数字转换为中文数字。
使用示例
以下是使用示例:
```
Dim d As Double = 1234567890123.45
Dim strResult As String = ConvertToChinese(d)
MsgBox(strResult)
```
运行结果如下:
```
壹万贰仟叁佰肆拾伍亿陆仟柒佰捌拾玖万零壹佰贰拾叁元肆角伍分
```
总结
本文介绍了使用VB编写的金额大写转换代码,可以将数字金额转换为中文大写金额。
该代码具有通用性和实用性,在日常工作中可以大大提高工作效率。