2012-08-04 246 views
0

我遇到问题:我有一个包含值的字符串,我想将它们拆分为一个双数组。将字符串拆分为双数组

输入:0.0 0.0 0.0

我有两种方式,但两者都没有工作

第一:

   Dim arrString As String() = line.Split(New Char() {" "c}) 
       Dim numbers As Double() = New Double(arrString.Length) {} 
       Dim i As Integer = 0 
       While i < arrString.Length 
        numbers(i) = Convert.ToDouble(arrString(i)) 
        i += 1 
       End While 

二:

   Dim nums As String() = line.Split(" "c) 
       Dim numbers As Double() = From num In nums Select Convert.ToDouble(num) 

我得到一个FormatExeption exeption 请帮助我,它的.obj loader

回答

2

当前文化可能使用不同的小数点分隔符。使用接受的格式提供的ToDouble过载:

Convert.ToDouble(num, CultureInfo.InvariantCulture) 

(该InvariantCulture属性返回根据英国设置的区域性信息,所以它使用期为小数分隔符。)

+0

对不起,我试图msgbox行的值,它返回“v”而不是“0.0 0.0 0.0”,所以错误来自这里: 对于每行作为字符串行 如果line.StartsWith(“v”)然后 line.Replace(“v”,“”) – Devintelo 2012-08-04 23:12:10