是否在Vb.net中检查字符串?

时间:2010-05-13 13:23:30

标签: .net vb.net string

我将在DataTable中获取数据。我将在foreach中迭代数据。我将在Datatable中包含所有类型的数据。现在,我需要为Double中的每个项目string找到DataTable。如何找到字符串IsDouble

例如:

我有"21342.2121"字符串。我需要将其转换为Double。但有时数据将为"TextString"。所以我不能使用Double.Parse()

如何处理?

5 个答案:

答案 0 :(得分:7)

Dim val as Double
Double.TryParse("MyString", val)
Double.TryParse("1234.567", val)

首先TryParse()将返回false。第二个TryParse()将返回true并将1234.567放入val

答案 1 :(得分:6)

试试Double.TryParse。如果数字不是有效/可识别的格式,则返回false,允许您在此方案中执行任何操作。

答案 2 :(得分:5)

为了扩展已经提供的(正确)答案,这里有一个完整的代码示例,说明如何使用Double.TryParse

Dim value As Double
If Double.TryParse(stringFromDataTable, value) Then
    ' text has been parsed as value, '
    ' so you can use value however you see fit '
Else
    ' text was not a valid double, so you can '
    ' notify the user or do whatever you want... '
    ' note that value will be zero in this case '
End If

答案 3 :(得分:2)

我可以问为什么你的存储兼作字符串并将它们与非数字字符串值混合?看起来好像你想避免这么做所有费用。

答案 4 :(得分:1)

这是错误的方法,您需要预先知道数据表中每列的代表。运行此程序以查看可能出现的问题:

Module Module1
    Sub Main()
        Dim value As Double
        If Double.TryParse("1e0", value) Then
            Console.WriteLine("Uh-oh")
        End If
        Console.ReadLine()
    End Sub
End Module