Как проверить большое целое число на четность или нечетность?

131
22 июня 2019, 19:50

Написал программку, которая считывает с textbox число и проверяет его на четность и не четность. Программа работает, все норм, НО, выскакивает ошибка, когда в textbox вводишь слишком большое число, например: 1111111111111111111111111. Ругается на данную строчку кода:

int a = int.Parse("0" + textBox1.Text);

System.OverflowException: "Значение было недопустимо малым или недопустимо большим для Int32."

Я понимаю, почему такая ошибка. Но не понимаю, как ее можно обыграть, чтоб любое целое число, которое я ввожу в textbox , проверялось на четность или нечетность.

Answer 1

Вы можете сделать так:

string pole = textBox1.Text;
if((int.Parse("0" +pole[pole.Length-1])%2)==0)
{
///четное
}else{
///нечетное
}

В итоге, вы проверяете только последний символ.

Answer 2

Для того, чтобы проверить введенное число на четность, совсем необязательно конвертировать его в int. Можно просто проверить последний введенный символ. Если это цифра 0, 2, 4, 6, или 8, то число четное. Если цифра 1, 3, 5, 7, или 9, то число нечетное. Если другой символ, то ошибка.

READ ALSO
Как изменить дату по умолчанию в DatePicker wpf

Как изменить дату по умолчанию в DatePicker wpf

подскажите пожалуйста, как убрать дату DatePicker wpf по умолчанию которая: 0101

122
Unable to find an entry point named 'glCreateShader' in DLL 'opengl32.dll'

Unable to find an entry point named 'glCreateShader' in DLL 'opengl32.dll'

Пытаюсь загрузить свой ШейдерИспользую Tao

106
Как получить entryid письма в ews

Как получить entryid письма в ews

Я получаю сообщение из публичной папки и хочу узнать его entryid (как в интерропе):

97
Проблема с IEnumerator

Проблема с IEnumerator

есть своя реализация dictionary:

121