2010-05-07 148 views
0

我有字符串值,我需要在VB.Net中轉換爲double。條件是像下面將字符串轉換爲雙倍

string = "12345.00232232" 

如果條件是3

display = 12,345.00 

如果條件是5(十進制和逗號後5位)

display = 12,345.00232 

如果(十進制和逗號後2位)條件是7(十進制後的5位數,沒有逗號)

display = 12345.00232 

如何在VB.Net中做到這一點?

回答

1

這聽起來像你想要一個數字輸入,將其轉換爲double,但隨後將其重新格式化爲基於特定樣式的數值的字符串。東西可能就像...

Public Function FormatNumericString(ByVal input As String, ByVal style As Integer) As String 

    Dim result As String = String.Empty 
    Dim temp As Double = Double.Parse(input) 'will throw on invalid input 

    Select Case style 
     Case 3 
      result = temp.ToString("#,##0.00") 
     Case 5 
      result = temp.ToString("#,##0.00000") 
     Case 7 
      result = temp.ToString("0.00000") 
    End Select 

    Return result 

End Function 

基本的是你必須將字符串轉換爲雙精度,並使用任何你想要的格式風格。我選擇使用double.Parse,以便在無效輸入上引發異常。 double.TryParse也可以使用,但它會返回true/false值,而不是在無效輸入上拋出異常。這取決於你想要遵循的行爲。