晕!我给你一段代码吧,只是用将数字变为大写汉字可以适用于金额,日期、数字的大写转换!如果合适可要给分咯
Public Function Number_To_Chinese(ByVal Number As Double) As String
Dim Number_string As String
Dim Dot_pos As Integer
Dim Result_string As String
Dim Is_Zero As Boolean
Dim This_Class_NoNumber As Boolean
Dim Dig_string As String
Dim Integer_Len As Integer, Decimal_Len As Integer
Dim Class_val As Integer
Number_string = CStr(Number)
Dot_pos = InStr(Number_string, ".")
If Dot_pos = 0 Then
' 该数为整数
Integer_Len = Len(Number_string)
If Integer_Len Mod 4 = 0 Then
Class_val = Int(Integer_Len / 4) - 1
Else
Class_val = Int(Integer_Len / 4)
End If
For i = 1 To Integer_Len
If (Integer_Len - i - Class_val * 4) = -1 Then
If This_Class_NoNumber = False Then
Result_string = Result_string & Class(Class_val) & Divvy
End If
Class_val = Class_val - 1
Is_Zero = False
This_Class_NoNumber = True
End If
Dig_string = Mid(Number_string, i, 1)
If CInt(Dig_string) = 0 Then
Is_Zero = True
Else
If Is_Zero = True Then
Result_string = Result_string & Digit(0) & Divvy
End If
Result_string = Result_string & Digit(Dig_string) & Divvy
If (Integer_Len - i) Mod 4 <> 0 Then
Result_string = Result_string & Digit_Format(((Integer_Len - i) Mod 4)) & Divvy
End If
Is_Zero = False
This_Class_NoNumber = False
End If
Next
Else
' 该处为整数部分
Integer_Len = Dot_pos - 1
If Integer_Len Mod 4 = 0 Then
Class_val = Int(Integer_Len / 4) - 1
Else
Class_val = Int(Integer_Len / 4)
End If
For i = 1 To Integer_Len
If (Integer_Len - i - Class_val * 4) = -1 Then
If This_Class_NoNumber = False Then
Result_string = Result_string & Class(Class_val) & Divvy
End If
Class_val = Class_val - 1
Is_Zero = False
This_Class_NoNumber = True
End If
Dig_string = Mid(Number_string, i, 1)
If CInt(Dig_string) = 0 Then
Is_Zero = True
Else
If Is_Zero = True Then
Result_string = Result_string & Digit(0) & Divvy
End If
Result_string = Result_string & Digit(Dig_string) & Divvy
If (Integer_Len - i) Mod 4 <> 0 Then
Result_string = Result_string & Digit_Format(((Integer_Len - i) Mod 4)) & Divvy
End If
Is_Zero = False
This_Class_NoNumber = False
End If
Next
If Integer_Len = 0 Then '纯小数
Result_string = Result_string & Digit(0) & Divvy
End If
Result_string = Result_string & Digit(10) & Divvy
' 该处为小数部分
For i = Dot_pos + 1 To Len(Number_string)
Result_string = Result_string & Digit(Mid(Number_string, i, 1)) & Divvy
Next
End If
Number_To_Chinese = Result_string
End Function