2010-05-07 115 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值,而不是在无效输入上抛出异常。这取决于你想要遵循的行为。