Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/27: Рейтинг темы: голосов - 27, средняя оценка - 4.74
 Аватар для pro100saniok
42 / 42 / 3
Регистрация: 11.04.2010
Сообщений: 177

Как проверить тип данных, который пользователь программы вводит в TextBox ?

26.05.2011, 01:22. Показов 5336. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, как проверить тип данных, который пользователь программы вводит в TextBox? Я работаю в Visual C#.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2011, 01:22
Ответы с готовыми решениями:

Проверить, что текст в textbox вводит пользователь
Нужно сделать проверку ввода, что их вводит именно пользователь, а не подставляет программа те мне нучно что-то похожее на...

Как проверить, какой тип данных записан в TextBox
Как сделать проверку на запись в IF-ELSE, То есть если у меня TextBox1.Text == какое то предложение, то делай то-то, если это число то...

Как грамотно инициализировать кортеж, который вводит пользователь
Подскажите пожалуйста, как грамотно инициализировать кортеж, который вводит пользователь

6
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 15
26.05.2011, 01:49
Если я правильно понял цель вопроса то вот такой не большой пример для разрешения только цифр:
C#
1
2
3
4
5
6
7
8
9
10
11
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            //разрешить только цифры 
            if ((e.KeyChar>='0') && (e.KeyChar<='9'))
                return;
            //разрешить <Enter> <Beckspace> esc... 
            if (Char.IsControl(e.KeyChar))
                return;
            //все остальное запрещаем
            e.Handled = true;
        }
также можно отследить если в тексте запетая:
C#
1
if (textBox1.Text.IndexOf(',')!=-1)//есть запетая
0
50 / 49 / 9
Регистрация: 12.01.2011
Сообщений: 135
26.05.2011, 02:19
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var a =0.0;
if(textbox1.Text.Containts(",") || textbox1.Text.Containts("."))
{
...
}
else 
{
try
{a = Convert.ToDouble(textbox1.Text);
if(a%1!=0)
  MessageBox.Show("Число нецелое");
 
else {MessageBox.Show("Число целое");}
}
}
catch(Exception ex)
            {
              MessageBox.Show(ex.ToString());  
            }
Попробуйте так
0
 Аватар для pro100saniok
42 / 42 / 3
Регистрация: 11.04.2010
Сообщений: 177
26.05.2011, 02:22  [ТС]
Цитата Сообщение от kinguniver7 Посмотреть сообщение
Если я правильно понял цель вопроса то вот такой не большой пример для разрешения только цифр:
C#
1
2
3
4
5
6
7
8
9
10
11
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            //разрешить только цифры 
            if ((e.KeyChar>='0') && (e.KeyChar<='9')
                return;
            //разрешить <Enter> <Beckspace> esc... 
            if (Char.IsControl(e.KeyChar))
                return;
            //все остальное запрещаем
            e.Handled = true;
        }
также можно отследить если в тексте запетая:
C#
1
if (textBox1.Text.IndexOf(',')!=-1)//есть запетая
Извини наверное я не правильно поставил вопрос, мне надо чтобы определяло тип данных int, float, double, string введенный в textbox.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
26.05.2011, 02:48
Вообще тип данных String из которого можно конвертировать в то, что нужно. Разве что написать парсер типа, нету букв, только цифры, то это int, если присутствует запятая это float или double, если 2 запятых это String. Короче даже не знаю, что тут можно посоветовать ещё. Только где это всё может понадобится, нужен ли такой TextBox. Вот не совсем ясно, как будет отличаться fload от double.

Хотя можно в текстбоксе писать так:
29,2323d - это double.
23,0133f - это float.
ну и т.д. Кстати Visual Studio именно так и определяет при вводе литеральных значений.
0
 Аватар для pro100saniok
42 / 42 / 3
Регистрация: 11.04.2010
Сообщений: 177
26.05.2011, 02:52  [ТС]
Цитата Сообщение от Casper-SC Посмотреть сообщение
Вообще тип данных String из которого можно конвертировать в то, что нужно. Разве что написать парсер типа, нету букв, только цифры, то это int, если присутствует запятая это float или double, если 2 запятых это String. Короче даже не знаю, что тут можно посоветовать ещё. Только где это всё может понадобится, нужен ли такой TextBox. Вот не совсем ясно, как будет отличаться fload от double.

Хотя можно в текстбоксе писать так:
29,2323d - это double.
23,0133f - это float.
ну и т.д.
у меня такое задание:

Используя универсальные шаблоны разработать универсальный класс CTEK для работы с числовыми (int, float, double) и срочным (string) типами данных.
Предусмотреть возможность занесения элемента в вершину стека, считывание с вершины, удаление из вершины стека, проверку на наличие элементов в стеке, очистку стека. Работу стека продемонстрировать используя графический интерфейс (Windows Forms). На форме отображать данные, которые заносятся или считываются с вершины стека, состояние стека до операции и после операции с ним.
0
 Аватар для Shymep
13 / 13 / 2
Регистрация: 10.01.2010
Сообщений: 34
26.05.2011, 08:38
Не совсем понятны некоторые вещи. Если нужно организовать свой стек, то тип вообще не имеет значения. Вы пишите свой класс на подобии
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Stack<T>
{
    private T[] _data;
 
    public Stack()
    {
        _data = new T[0];
    }
 
    public bool IsEmpty { get { return _data.Length == 0; } }
 
    public void Push(T newNode)
    {
        var tmp = new T[_data.Length + 1];
        Array.Copy(_data, tmp, _data.Length);
        tmp[_data.Length] = newNode;
        _data = tmp;
    }
 
    public T Pop()
    {
        if (IsEmpty)
            throw new Exception("Stack is empty");
        var tmp = new T[_data.Length - 1];
        var res = _data[_data.Length - 1];
        Array.Copy(_data, tmp, _data.Length - 1);
        _data = tmp;
        return res;
    }
 
    public void Clear()
    {
        _data = new T[0];
    }
 
}
Дополнительно реализуете те методы, которые вам нужны.
Все, что Вы считываете с формы, это строка. Если нужно определить тип, можно сделать что-то такое
C#
1
2
3
4
5
6
7
8
9
10
11
12
double d;
float f;
int i;
if (int.TryParse(str, out i))
    //...
    ;
else if(float.TryParse(str, out f))
    //...
    ;
else if(double.TryParse(str, out d))
    //...
    ;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2011, 08:38
Помогаю со студенческими работами здесь

Как добавить элемент, который пользователь вводит в окно ввода
Здравствуйте! Помогите, пожалуйста, разобраться. Как мне добавить элемент, который пользователь вводит в окно ввода, в строку с помощью...

Есть выпадающий список JComboBox. Нужно реализовать эффект фильтрации данных в выпадающем списке по тексту который вводит пользователь
Есть выпадающий список JComboBox. Нужно реализовать эффект фильтрации данных в выпадающем списке по тексту который вводит пользователь. ...

Как сделать тип данных или уже есть такой тип данных который состоит из всех печатыемых символов?
Как сделать тип данных или уже есть такой тип данных который состоит из всех печатыемых символов? Если есть то как он называется ?

Пользователь вводит путь к папке и маску файлов. Также пользователь вводит имя результирующего файла
Пользователь вводит путь к папке и маску файлов. Также пользователь вводит имя результирующего файла. Программа пишет в результирующий...

Вывод названия месяца, который пользователь вводит
Здравствуйте! Пользователь вводит с клавиатуры месяц, а в отчете должна отображаться вся информация по документам ДО этого месяца. Но в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru