x-ios Ответов: 2

Как преобразовать строковый 2-мерный массив, импортированный из файла .txt, в double in VB.NET


Этот код может считываться с .txt-файл мои данные.
Как вы сказали мне в предыдущих постах, я удалил vbtab и т. д.

Дело в том, как я могу преобразовать sMatrix(,) в двойной массив, потому что мне нужно сделать числовые вычисления с этим массивом (sMatrix)


Спасибо

Что я уже пробовал:

Dim strfilename As String
        Dim num_rows As Long
        Dim num_cols As Long
        Dim x As Integer
        Dim y As Integer
        Dim sMatrix(,) As String

        strfilename = "C:\Users\x-ios\Documents\#Projects_IVCV_MOS\P120N22.txt"

        If File.Exists(strfilename) Then
            Dim sReader As StreamReader = File.OpenText(strfilename)
            Dim strLines() As String
            Dim strLine() As String

            'Load content of file to strLines array
            strLines = sReader.ReadToEnd().Split(Environment.NewLine)

            'redimension the array
            num_rows = UBound(strLines)
            strLine = strLines(0).Split(New String() {", ", ControlChars.NewLine, vbTab}, StringSplitOptions.RemoveEmptyEntries) '// split all the text by a space.'
            num_cols = UBound(strLine)
            ReDim sMatrix(num_rows, num_cols)

            'Copy Data into the array
            For x = 0 To num_rows
                strLine = strLines(x).Split(New String() {", ", ControlChars.NewLine, vbTab}, StringSplitOptions.RemoveEmptyEntries) '// split all the text by a space.'
                For y = 0 To num_cols
                    sMatrix(x, y) = strLine(y).Trim()

                Next y
            Next x

        End If

ZurdoDev

"потому что мне нужно сделать числовые вычисления с этим массивом (sMatrix)" - вы всегда можете преобразовать элемент массива во время вычисления, а не создавать новый массив в памяти.

x-ios

Хорошо, в частности, как я могу использовать математическую функцию abs для этого значения массива 1-1, если это строковый массив?

ZurdoDev

Преобразуйте его в двойной, а затем используйте ABS.

x-ios

но как, вот почему я спрашиваю...

ZurdoDev

Как уже сказал кто-то другой, используйте Double.Метод tryparse. Есть много разных способов делать вещи, поэтому вы должны быть очень конкретны относительно того, где вы застряли.

[no name]

Как я уже говорил, Вы используете двойной.Попробуйте преобразовать ваши строки в числа.

x-ios

да, я знаю, но я не могу понять этого...

2 Ответов

Рейтинг:
2

x-ios

Спасибо за ваш ответ.
Я попробовал это сделать и получил эту ошибку

Значение типа ' String (*,*)' не может быть преобразовано в 'String'.

Richard MacCutchan

Что это значит? Вы спросили, как преобразовать строковое значение в двойной тип. Пожалуйста, отредактируйте свой вопрос, покажите неудачный код и объясните точно, что происходит.

Maciej Los

5ед!