2017-02-19 21 views
0

Я студент работает над Visual Basic и я скопировал следующий код в точности, как книга сказал:Unhandled Формат

intNumberofBikes = Convert.ToInt32(strNumberofBikes) 

Я получаю сообщение об ошибке из следующих действий: VbScreenShot

Любая помощь было бы признательно, я не могу узнать, что не так с кодом.

+0

'strNumberOfBikes' предположительно является переменной типа' String', который может содержать и числовые значения. Попытка конвертировать эти значения в число обычно вызывает эту ошибку. –

+0

Спасибо за ваш ответ Зев. Какой тип переменной я бы использовал помимо строки, чтобы остановить эту ошибку? Это именно то, что книга требует от меня ввода. Хммм. – Siodinn

+0

Пожалуйста, прочитайте [ask] и возьмите [тур]. Ссылки на изображения кода или сообщения об ошибках не очень хорошо приняты: это затрудняет поиск будущих посетителей поиском справки с той же ошибкой. И в заголовке нам не нужны теги. – Plutonix

ответ

1

Ошибка в том, что у вас есть символ в текстовое поле, которое не является числовым ... Попробуйте это ниже ...

Dim intBikes As Integer = 0 
Integer.TryParse(strNumberofBikes, intBikes) 

ошибка исчезнет и intBikes будет счетчик, если он успешно анализирует текстовое поле.

Все это завернутые ...

Dim intBikes As Integer 
Dim decTotalCost As Decimal 
If Integer.TryParse(txtNumberOfBikes.Text, intBikes) Then 
    decTotalCost = intBikes * _cdecPricePerBike 
    lblTotalCost.Text = decTotalCost.ToString("C") 
End If 
+0

Благодарим вас за ответ Zaggler. Я попробую связанный код. Мне интересно, если книга сделала это намеренно, чтобы проверить, могу ли я исправить ошибку? Спасибо – Siodinn

+0

Возможно, так, но всегда санируйте входные данные; пользователь может не доверять, мы должны им помочь :) – Codexer

+0

Это правда lol VB - это первое кодирование, которое я сделал помимо HTML и CSS, которые вряд ли учитываются. Поэтому я очень новичок во всех процедурах и терминологии. Прошел долгий путь! – Siodinn