我有一个包含 double 和整数的字符串“TextLine”。现在我想将字符串拆分为几个部分并将生成的字符串数组转换为 double 。不幸的是,当我尝试这样做时,我遇到了重载解析错误(对于“解析”)。我做错了什么?
Dim doubleAry As Double() = Array.ConvertAll(TextLine.Split(vbTab), [Double].Parse)
最佳答案
你可以这样做:
Dim doubleAry As Double() = Array.ConvertAll(TextLine.Split(vbTab), New Converter(Of String, Double)(AddressOf Double.Parse))
但是,如果您提供的字符串数组包含任何无效项目,则会引发异常并且无法转换任何项目。如果您想处理无效项目并将其默认为 0,您可以实现自己的转换器,如下所示:
Private Function DoubleConverter(ByVal text As String) As Double
Dim value As Double = 0
Double.TryParse(text, value)
Return value
End Function
然后,你可以像这样使用它:
Dim doubleAry As Double() = Array.ConvertAll(TextLine.Split(vbTab), New Converter(Of String, Double)(AddressOf DoubleConverter))
关于arrays - 在 VB.NET 中将字符串数组转换为 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054585/