Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 9
1

Как исправить ошибку "Приведение строки "" к типу "Double" является недопустимым"?

01.11.2017, 20:14. Показов 2741. Ответов 1
Метки нет (Все метки)

Выдает ошибку в строке nasel(n).mat = Int(line(2)). Приведение строки "" к типу "Double" является недопустимым. Как исправить?
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Imports System.IO
Public Class Form1
    Private Structure chel
        Public fam, name As String
        Public mat, rus, fiz, sr As Integer
    End Structure
 
    Dim n As Integer
    Dim nasel(50) As chel
    Dim copy
    Dim SrAll, summ As Integer
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Bfind.Enabled = False
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bfind.Click
        DataGridView2.Rows.Clear()
        Dim k As Integer = 0
        For i = 0 To n - 1
            If nasel(i).sr > SrAll Then
                DataGridView2.Rows.Add(nasel(i).fam, nasel(i).name, nasel(i).mat, nasel(i).rus, nasel(i).fiz, nasel(i).sr)
                k += 1
            End If
        Next
        TextBox1.Text = Str(k)
        Bfind.Enabled = False
    End Sub
 
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bread.Click
        Dim data = New StreamReader("data.txt", System.Text.Encoding.Default)
        Dim line() As String
        n = 0
        summ = 0
        Do While (data.Peek <> -1)
            line = Split(data.ReadLine())
            nasel(n).fam = line(0)
            nasel(n).name = line(1)
     nasel(n).mat = Int(line(2))
            nasel(n).rus = Int(line(3))
            nasel(n).fiz = Int(line(4))
            nasel(n).sr = Math.Round((nasel(n).mat + nasel(n).rus + nasel(n).fiz) / 3, 2)
            summ = summ + nasel(n).mat + nasel(n).rus + nasel(n).fiz
            n += 1
        Loop
        data.Close()
 
        DataGridView1.ColumnCount = 5
        DataGridView2.ColumnCount = 6
 
        DataGridView1.Columns(0).HeaderText = "Фамилия"
        DataGridView1.Columns(1).HeaderText = "Имя"
        DataGridView1.Columns(2).HeaderText = "Математика"
        DataGridView1.Columns(3).HeaderText = "Руский язык"
        DataGridView1.Columns(4).HeaderText = "Физика"
 
        DataGridView2.Columns(0).HeaderText = "Фамилия"
        DataGridView2.Columns(1).HeaderText = "Имя"
        DataGridView2.Columns(2).HeaderText = "Математика"
        DataGridView2.Columns(3).HeaderText = "Руский язык"
        DataGridView2.Columns(4).HeaderText = "Физика"
        DataGridView2.Columns(5).HeaderText = "Средний балл"
 
        DataGridView1.Rows.Clear()
 
        For i = 0 To n - 1
            DataGridView1.Rows.Add(nasel(i).fam, nasel(i).name, nasel(i).mat, nasel(i).rus, nasel(i).fiz)
        Next
        Bfind.Enabled = True
        SrAll = summ / (n * 3)
        MsgBox("Средний общий балл=" + SrAll.ToString)
    End Sub
End Class
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2017, 20:14
Ответы с готовыми решениями:

Ошибка "Приведение строки "explorer.exe" к типу "Double" является недопустимым" при записи в реестр
Помогите, хочу получить доступ к winlogon, что бы изменять любое другое значение shell на...

Ошибка при запуске .exe файла из debug: "Приведение строки "Июнь" к типу "Double" является недопустимым"
Если запускать из самого проекта(F5), то все нормально, а если скомпилированный запустить, то...

Обработка "null" в MS Access "Приведение типа "|DBNull" к типу "String" является недопустимым"
Здравствуйте. Работаю с базой MS Access Вывожу в DataGridView таблицу Проблема следующая, если у...

Приведение строки "0,00 р." к типу "Double" является недопустимым
при сборке проекта выводится ошибка: Приведение строки &quot;0,00 р.&quot; к типу &quot;Double&quot; является...

1
3928 / 3137 / 752
Регистрация: 02.02.2013
Сообщений: 3,006
Записей в блоге: 2
01.11.2017, 21:35 2
oksana_07,
Судя по всему, прочитана пустая строка (вероятно последняя строка файла). Посмотрите, что вы получаете в line.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2017, 21:35

Приведение строки "(" к типу "Double" является недопустимым
Приведение строки &quot;(&quot; к типу &quot;Double&quot; является недопустимым. Показывает на строку ,где...

Поиск в DGW вылетает с ошибкой "Приведение типа "|DBNull" к типу "String" является недопустимым."
В общем такой вопрос. Код рабочий. Только у меня не работает. For i = 0 To...

"Приведение типа "|DataRowView" к типу "String" является недопустимым"
Пытаюсь вытащить из базы данных и связать фамилии студентов, их суммы и даты оплаты обучения. Все...

Приведение строки "" к типу "Integer" является недопустимым при работе с InputBox
Работаю в Visual Studio 2008. Строка a(i) = InputBox(&quot; Введите &quot; &amp; i &amp; &quot; Элемент &quot;) выдает ошибку:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.