Доброе утро. Я не хочу беспокоить вас, ребята, но я столкнулся с проблемой, которая меня действительно задевала.Неправильный коэффициент во время разделения двойной строкой
У меня есть файл Excel, в котором у меня есть 2 столбца, где я должен делить 1 столбец на другой и вставлять этот результат в таблицу SQL.
Вот снимок файла excel, где я подчеркиваю строку проблемы.
Если значения в обоих столбцах есть «» как и в других рядах, то все нормально, но если 1 есть «» и еще не то я получаю неправильный результат. Например, компилятор читает 147, как 147.0 {Double} и 60,75, как "60,75" {String}. Если все в порядке, я должен получить результат 2,41, но я получил 0,024 (это похоже на 60,75, конвертируется в 6075). К сожалению, я не могу изменить файл Excel. Как я могу получить правильный результат?
Вот код для разделения:
Dim usedRange = xlsWorkSheet.Range("E7", "F57")
Dim usedRangeAs2DArray As Object(,) = usedRange.Value2
Dim TeamIndex(), import As String
ReDim TeamIndex(usedRange.Rows.Count)
For i As Integer = 1 To usedRange.Rows.Count
If (usedRangeAs2DArray(i, 1) = 0 And usedRangeAs2DArray(i, 2) = 0)
Or usedRangeAs2DArray(i, 2) = 0 Then
z = 1
TeamIndex(i) = z
Else
g = Convert.ToString(usedRangeAs2DArray(i, 1))
z = g/Convert.ToDouble(usedRangeAs2DArray(i, 2))
z = Math.Floor(100 * z)/100
TeamIndex(i) = z
End If
Next
Я пытался использовать Convert.ToString(), используйте Заменить "" с "," и String.Format ("{0: N2}", g) в первом столбце, но это просто игнорируется.
Заранее спасибо.