Ошибка "Входная строка имела неверный формат"
Ошибка
Всём доброго времени суток. Помогите решить проблему. При вводе числа в textBox1, например -1.5.
Ошибка "Входная строка имела неверный формат"
ребят написал такой код private void textBox1_TextChanged(object sender, EventArgs e)< .
Ошибка "Входная строка имела неверный формат "
Суть! В textBox1 пишем цифры Эти цифры выводим в label1 Хочу найти максимальный элемент в этой.
Ошибка "Входная строка имела неверный формат"
Помогите, пожалуйста, исправить ошибку! using System; using System.Collections.Generic; using.
Сообщение от karakalpak
И так есть хочется, а тут еще вы со своими беляшами
Сообщение от karakalpak
Скорее всего ошибка выскакивает на этой строке.
Вероятно, во втором текстбоксе вы вводите значение, которое не парсится в десятичное число. Например, "2A.345".
Надо бы эту строчку перенести в блок try/cache, к парсу первого текстбокса.
Сообщение от karakalpak
Сообщение от kolorotur
Сообщение от karakalpak
Сначала вы считываете текст из textBox1 и перегоняете его в double. Если пользователь ввел не число, а какую-нибудь ерунду, то выскочит исключение FormatException. В вашем коде абсолютно правильно конвертирование текста в число вложено в блок try/catch чтобы в случае чего это исключение поймать и показать пользователю сообщение об ошибке.
Несколькими строчками ниже вы делаете то же самое, но конвертируете текст из textBox2 в переменную summa. Внимание, вопрос: почему во втором случае вы не отслеживаете возможный выброс исключения?
В случае, если пользователь введет ерунду в textBox2, ваш код не рассматривает такую ситуацию и исключение FormatException не будет поймано и должным образом обработано. В результате программа закрашится.
При компиляции возникает ошибка "Входная строка имела неверный формат"
Convert.ToInt32 выдает это исключение при попытке преобразовать строку неправильного формата. Ожидается строка, представляющая собой целое число, например "1" или "654" .
Вполне вероятно, что вы не установили значение по умолчанию для своего текстового поля textBox1 , поэтому оно пытается преобразовать "" в int, чего не может.
Вы можете решить эту проблему, установив значение по умолчанию или не запуская сравнение, пока значение не будет введено.
Входная строка имела неверный формат как исправить
![]()
Этот форум закрыт. Благодарим вас за ваш вклад. Если вам нужна дополнительная информация о том, где еще можно найти помощь, вы можете посетить страницу ресурсов.
Лучший отвечающий
Вопрос
Всё работало. Переустановил Windows, Ту же самую поставил. Та же VS 2015 всё то же. Но перестала работать программа.
Ругается на эту строчку
Ещё — раньше не было Azure SDK сейчас добавил ещё Azure SDK — из-за неё что-ли?
Ответы
Скорее всего строка неверная. Может там точка вместо запятой, а может наоборот. Требуемый формат зависит от текущей культуры, видимо она подменялась после переустановки ОС.
Так что проверяйте строку и культуру.
This posting is provided "AS IS" with no warranties, and confers no rights.
- Помечено в качестве ответа DevingAs 1 марта 2016 г. 17:20
Центры разработки
- Windows
- Office
- Visual Studio
- Microsoft Azure
- Дополнительно.
Обучение
- Microsoft Virtual Academy
- Канал Channel 9
- Журнал MSDN
Сообщество
- Новости
- Форумы
- Блоги
- Codeplex
Свяжитесь с нами
Программы
- BizSpark (для стартапов)
- Microsoft Imagine (for students)
- Информационный бюллетень
- Конфиденциальность и файлы cookie
- Условия использования
- Товарные знаки
© 2023 Microsoft