Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка типа в TextBox 
V
    Опции темы
Wizard84
Дата 1.11.2006, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 12.8.2006

Репутация: нет
Всего: нет



Подскажите, плиз, как сделать проверку, что введенное в TextBox значение - целое число?
PM MAIL   Вверх
Scolopendra
Дата 1.11.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Как вариант, проверяешь каждый введенный символ в textBox является ли он цифрой.
if (Char.IsDigit(textBox1.Text[0]))
      {

      }

PM MAIL   Вверх
ivashkanet
Дата 1.11.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Wizard84, если фрэймворк второй, то 
Код

            int i;
            string numberInString = "1465.4654";

            if (!int.TryParse(numberInString, out i))
                Console.WriteLine("Вводи нормальное число.");


Если нет, то
Код

            int i;
            string numberInString = "1465.4654";

            try
            {
                i = int.Parse(numberInString);
            }
            catch 
            {
                Console.WriteLine("Вводи нормальное число.");
            }



Это сообщение отредактировал(а) ivashkanet - 1.11.2006, 14:58
PM MAIL WWW ICQ   Вверх
Wizard84
Дата 2.11.2006, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 12.8.2006

Репутация: нет
Всего: нет



Спасибо

Это сообщение отредактировал(а) Wizard84 - 2.11.2006, 19:35
PM MAIL   Вверх
thomas
Дата 2.11.2006, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 6
Всего: 65



Wizard84

Привет.
Вот еще вариант. Написано самостоятельно.

Код

 public static bool isNumeric(string tekst)
        {
            int len, counter;
            bool res = true;
            len = tekst.Length;
            counter = 0;
            while (counter < len && res)
            {
                res = char.IsNumber(tekst, counter);
                counter++;
            }
            return res;
        }

Запихиваешь это в отдельный класс со всякими полезностями и юзаешь когда надо.
Я это использую когда надо проверить что юзверь вводит в TextBox. Если циферки то хорошо, если что то еще, то пусть вводит снова.

Пользуешь так:

if(clsTool.isNumeric(TextBox1.Text))
{
      //  нужный код
}
else
{
      MessageBox.Show("Ошибка ввода.");
      TextBox1.Text="";
}


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
archimed7592
Дата 3.11.2006, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 7
Всего: 93



thomas, а в чём преимущество перед стандартными TryParse\Parse?


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
mr.DUDA
Дата 3.11.2006, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



thomas, твой код не даст ввести отрицательное и дробное число.


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 3.11.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



thomas, помнится, уже обсуждалась целесообразность использования "самопальных" методов smile ?
PM   Вверх
thomas
Дата 3.11.2006, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 6
Всего: 65



mr.DUDA
Про отрицательное число твоя правда, а про дробное вопрос не стоял.
Цитата

как сделать проверку, что введенное в TextBox значение - целое число? 


 smile 


Exception
А чем плох самопальный метод. Он ведь тоже основан на системном - char.IsNumber.


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
archimed7592
Дата 3.11.2006, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 7
Всего: 93



thomas, примерно тем же, почему самопальный метод плох в php\perl\java\etc. msil - это конечно хорошо, но это не ассемблер...ещё стандартные ф-ции учитывают локализацию.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
mr.DUDA
Дата 3.11.2006, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



thomas, про дробное это я так, для справки.  smile 

Кстати, если углубляться, то archimed7592 совершенно прав - придётся проверять текущую культуру или перестраховываться, т.к. разделитель дробной части зависит от культуры.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0788 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.