Public Function ConvertToRMB(ByVal inputString As StringAs String
        
Dim numList As String = "零壹贰叁肆伍陆柒捌玖"
        
Dim rmbList As String = "分角元拾佰仟万拾佰仟亿拾佰仟万"
        
Dim number As Double = 0
        
Dim tempOutString As String
        
Try
            number 
= Double.Parse(inputString)
        
Catch ex As SystemException
            MessageBox.Show(
"传入参数非数字!")
        
End Try
        
If number > 9999999999999.99 Then

            
Return "超出范围的人民币值"

        
End If
        
Dim tempNumberString As String = Convert.ToInt64(number * 100).ToString()
        
Dim tempNmberLength As Integer = tempNumberString.Length
        
Dim i As Integer = 0
        
While i < tempNmberLength
            
Dim oneNumber As Integer = Int32.Parse(tempNumberString.Substring(i, 1))
            
Dim oneNumberChar As String = numList.Substring(oneNumber, 1)
            
Dim oneNumberUnit As String = rmbList.Substring(tempNmberLength - i - 11)
            
If Not (oneNumberChar = ""Then
                tempOutString 
+= oneNumberChar + oneNumberUnit
            
Else
                
If oneNumberUnit = "亿" OrElse oneNumberUnit = "" OrElse oneNumberUnit = "" OrElse oneNumberUnit = "" Then
                    
While tempOutString.EndsWith("")
                        tempOutString 
= tempOutString.Substring(0, tempOutString.Length - 1)
                    
End While
                
End If
                
If oneNumberUnit = "亿" OrElse (oneNumberUnit = "" AndAlso Not tempOutString.EndsWith("亿")) OrElse oneNumberUnit = "" Then
                    tempOutString 
+= oneNumberUnit
                
Else
                    
If Not tempOutString Is Nothing Then
                        
Dim tempEnd As Boolean = tempOutString.EndsWith("亿")
                        
Dim zeroEnd As Boolean = tempOutString.EndsWith("")
                        
If tempOutString.Length > 1 Then
                            
Dim zeroStart As Boolean = tempOutString.Substring(tempOutString.Length - 22).StartsWith("")
                            
If Not zeroEnd AndAlso (zeroStart OrElse Not tempEnd) Then
                                tempOutString 
+= oneNumberChar
                            
End If
                        
Else
                            
If Not zeroEnd AndAlso Not tempEnd Then
                                tempOutString 
+= oneNumberChar
                            
End If
                        
End If
                    
End If

                
End If
            
End If
            i 
+= 1
        
End While
        
If Not tempOutString Is Nothing Then
            
While tempOutString.EndsWith("")
                tempOutString 
= tempOutString.Substring(0, tempOutString.Length - 1)
            
End While
            
While tempOutString.EndsWith("")
                tempOutString 
= tempOutString + ""
            
End While
            
Return tempOutString
        
Else
            
Return ""

        
End If


    
End Function
可以根据此代码改编成大写千克。此段代码是以前收集的,忘记了出处。在此发布出来,希望能给大家提供方便,对原作者表示感谢.
posted on 2007-06-19 14:30  小黑三  阅读(4093)  评论(0编辑  收藏  举报