将字符串转换为double

时间:2010-05-07 19:23:02

标签: asp.net vb.net

我有字符串值,我需要在VB.Net中转换为double。条件如下

string = "12345.00232232"

如果条件为3(十进制和逗号后2位数)

 display = 12,345.00

如果条件为5(十进制和逗号后5位数)

display = 12,345.00232

如果条件为7(十进制后5位且无逗号)

display = 12345.00232

我怎么能在VB.Net中做到这一点?

1 个答案:

答案 0 :(得分: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并使用你想要的任何格式样式。我选择使用double.Parse,以便在无效输入上抛出异常。也可以使用double.TryParse,但它返回true / false值,而不是在无效输入上抛出异常。这取决于你想要遵循的行为。