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 加载器

4

1 回答 1

2

当前的文化可能使用不同的小数分隔符。使用采用格式提供程序的 的重载ToDouble

Convert.ToDouble(num, CultureInfo.InvariantCulture)

(该InvariantCulture属性返回基于英语设置的中性文化信息,因此它使用句点作为小数分隔符。)

于 2012-08-04T19:03:19.160 回答