Member 14083059 Ответов: 1

Как решить эту проблему? Входная строка была не в правильном порядке format.in ASP.NET


У меня есть два textBoxs и одна кнопка, textbox1-это номер ascept, а textbox2-это преобразование их в слова. когда я нажимаю кнопку button1 как очистить поле она показывает ошибку-

Входная строка была не в правильном формате

диалоговое окно ошибка показывает здесь ошибку-
string word = ConvertNumbertoWords(Convert.ToInt32(txtamount.Text));


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

частная buttonClear_Click недействительным(объект отправителя, EventArgs в электронной)
{

текстовое поле textbox1.Текст = Строка.Пустой;
тхцрно.текстовая строка.Пустой;
txtdescription.текстовая строка.Пустой;
txtquantity.текстовая строка.Пустой;
txtrate.текстовая строка.Пустой;
comboBox1.Text = строка.Пустой;
txtamount.текстовая строка.Пустой;
txtword.текстовая строка.Пустой;

string word = ConvertNumbertoWords(конвертировать.ToInt32(txtamount.Text));
txtword.Текст = слово;

}




string word = ConvertNumbertoWords(Convert.ToInt32(txtamount.Text));

1 Ответов

Рейтинг:
0

lmoelleb

Пустая строка не является допустимым целочисленным представлением, но вы спрашиваете Convert.ToInt32, чтобы произвести из него целое число... это не делает его счастливым.

Конечно, они могли бы осуществить конвертацию.ToInt32 таким образом, он возвращает 42, когда получает строку, которая не представляет целое число - совершенно разумное решение, если вы спросите меня. Но вместо этого они решили потерпеть неудачу. Может быть, потому, что кто-то другой ожидал, что он вернет 0, -1, int.MinValue или какое-то другое произвольное целое число.


Вы можете использовать int.TryParse(string s), чтобы избежать появления ошибки в виде исключения, и обработайте ее самостоятельно. Если вы хотите, чтобы пустая строка обрабатывалась как "42", то напишите некоторый код, который устанавливает значение 42 вместо вызова Convert.ToInt32 если строка null или пуста (используйте string.IsNullOrEmpty).


Member 14083059

thanxx @Imoelleb