Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/91: Рейтинг темы: голосов - 91, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 1

Проверить, что в TextBox число, имеющиее тип double

26.10.2006, 22:22. Показов 18809. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На С# надо данные введённые в TextBox преобразовать к double. Проверить что это именно число а не текст.
Погите кто чем может.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.10.2006, 22:22
Ответы с готовыми решениями:

Проверить что в textbox определенный тип, без отправки страницы на сервер
Есть некий textBox. При выходе из него после редактирования нужно проверять что в поле определенный тип, без отправки страницы на сервер.

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double
Думаю из-за polp #include<iostream> #include<cmath> #include<cstdlib> using namespace std; double polp(double af,double...

Как определить тип данного (int или double) введенного через textbox?
Нужно так Ввожу 2 к примеру, число записывается в List<> типа int Ввожу 2,3 - число записывается в List<> типа double.

20
Администратор
 Аватар для mik-a-el
87848 / 53169 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
26.10.2006, 23:30
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

double.TryParse()
0
0 / 0 / 2
Регистрация: 26.10.2006
Сообщений: 28
28.10.2006, 06:13
А такой вопрос, как в TextBox вывести число типа double с тремя знаками после запятой... и как начать новую строку.
0
Администратор
 Аватар для mik-a-el
87848 / 53169 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
28.10.2006, 12:21
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

double d = 3.44;
TextBox.Text = string.Format("{0} \nHello world!", d.ToString("###############.000")));
1
0 / 0 / 2
Регистрация: 26.10.2006
Сообщений: 28
01.11.2006, 10:17
Вот какая фигня получиась
Название: 19523635_prim.JPG
Просмотров: 276

Размер: 3.6 Кб
0
Администратор
 Аватар для mik-a-el
87848 / 53169 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
01.11.2006, 22:04
Используй многострочный редактор. TextBox - однострочный и не понимает переносов.
0
0 / 0 / 2
Регистрация: 26.10.2006
Сообщений: 28
02.11.2006, 01:10
Это и есть многострочный... но я уже в пригципе нашел решение, когда хочешь перенос сделать делаешь так:
tbTextBox.AppendText(@"
");
так работает нормально...

спс.
0
0 / 0 / 0
Регистрация: 31.03.2007
Сообщений: 4
05.04.2007, 08:28
На С# надо данные введённые в TextBox преобразовать к double. Проверить что это именно число а не текст.
Погите кто чем может.

double x;
...
x=double.Parse(textBox1.text);
только запрети ввод в textBox1 текст.
Метод Parse объявлен в структуре Double и в других структурах(int,...)
0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
17.04.2009, 21:51
Доброго времени суток.
Есть схожая проблема есть TextBox из него получаю значение в переменную:
C#
1
int nNumber = int.Parse(textBox1.Text);
Так вот собственно вопрос, как запретить ввод, если это не цифры, и как быть со знаком "-"?
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
17.04.2009, 23:07
Цитата Сообщение от mik-a-el Посмотреть сообщение
Используй многострочный редактор. TextBox - однострочный и не понимает переносов.
Дудки. СТавь в TextBox свойство MultiLine = true и тебе уже многострочный редактор
0
26 / 26 / 2
Регистрация: 10.02.2009
Сообщений: 114
17.04.2009, 23:08
А что отрицательных чисел не бывает?
отлавливать ввод символов можно с помощью конструкций
C#
1
2
3
4
5
6
7
8
9
try
            {
 
            }
            catch (Exception)
            {
                
                throw;
            }
а вот как запретить надо поразбираться
1
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
17.04.2009, 23:13
C#
1
2
3
4
5
6
7
8
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar))
            {
                \\десятичное
 
            }
        }
Добавлено через 4 минуты 14 секунд
Полностью это выглядит так

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private void textBox1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
        {
            // Если это не цифра.
            if(!Char.IsDigit(e.KeyChar))
            {
                // Запрет на ввод более одной десятичной точки.
                if(e.KeyChar != '.' || textBox1.Text.IndexOf(".") != -1)
                {
                    e.Handled = true;
                }
            }
        }
1
 Аватар для homich77
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
17.04.2009, 23:19
Если на словах, то считываешь как в переменную char , а там анализируешь код каждого символа. Если в пределы цифр не попадает, то ничего не делать (соответственно и "-" тоже можно анализировать). Если нужен код (если так не понятно) - скажите. а то лень настигла внезапно
1
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
18.04.2009, 10:49
Собственно непонятен один участок кода:
C#
1
if(e.KeyChar != '.' || textBox1.Text.IndexOf(".") != -1)
Насколько я понял, так можно обработать определенный textBox, а если таких textBox 10 и более, тут немного запутался.

Добавлено через 33 минуты 7 секунд
А с минусом еще хуже, его не только надо разрешить в количестве 1, но и стоять он первым (слева от символов)
0
 Аватар для homich77
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
18.04.2009, 11:00
Цитата Сообщение от Konctantin Посмотреть сообщение
если таких textBox 10 и более, тут немного запутался.
Так всё тоже самое. Смотри. textBox1_KeyPress - это же событие. если у всех текстбоксов требования к введению текста одинаковые, то просто для них, открываешь окошко с событиями и напротив поля "KeyPress" нажимаешь на стрелочку и у тебя выпадает список с возможными функциями. Там и должна нах. уже тобой заранее созданная (для 1го текстбокса) фукнция - ты её выбираешь и тем самым привязываешь эту функцию ко всем текстбоксам, кот. тебе нужны.
Надеюсь, я понятно описала
1
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
18.04.2009, 15:56
Нет, это я понимаю, но просто напрягает такой момент, в textBox можно ввести следующее содержание "45-45" а хотелось бы чтоб только так: "-45", тобиш слева от цифр!

Добавлено через 4 часа 43 минуты 19 секунд
С Backspase проблему решил, вот код:
C#
1
2
3
4
5
6
7
        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)Keys.Back)
            {
                if (e.KeyChar != '-' || textBox.Text.IndexOf("-") != -1) e.Handled = true;
            }
        }
А вот с вводом знака "-" в средине цифр или в конце, пока никак, подскажите как это можно решить?

Спасибо!
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
18.04.2009, 19:02
Смотри если длина текста = 0 то можно вводить знак, если больше то уже нельзя
1
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
19.04.2009, 00:13
Сделал так:
C#
1
if (e.KeyChar != '-' || textBox.Text.IndexOf("-") != -1 && ActionParam1_2.Text.Length ==0) e.Handled = true;
Но ничего не выходит, если не сложно, покажите прмер
0
 Аватар для homich77
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
19.04.2009, 12:03
Цитата Сообщение от Konctantin Посмотреть сообщение
Сделал так:
C#
1
if (e.KeyChar != '-' || textBox.Text.IndexOf("-") != -1 && ActionParam1_2.Text.Length ==0) e.Handled = true;
Но ничего не выходит, если не сложно, покажите прмер
А почему разные названия текстбоксов? (textBox и ActionParam1_2). кстати, условие textBox.Text.IndexOf("-") != -1 не обяз. вроде - ведь принимается знак и так только 1 раз (пока строка не больше одного символа) А вообще, если не права - поправьте.
0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
20.04.2009, 12:03
Вот если надо, то вот нормальный рабочий код:
C#
1
2
3
if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)Keys.Back && (e.KeyChar != '-' ||
         ((TextBox)sender).Text.IndexOf("-") != -1 || ((TextBox)sender).SelectionStart != 0))
         e.Handled = true;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2009, 12:03
Помогаю со студенческими работами здесь

Как записать в переменную double из TextBox отрицательное число?
Такая вот проблема, если ввожу в TextBox сразу цифры, все нормально, а если начинаю с минуса - отладка обрывается. a2 объявлена ранее в...

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

Как проверить тип данных, который пользователь программы вводит в TextBox ?
Подскажите, пожалуйста, как проверить тип данных, который пользователь программы вводит в TextBox? Я работаю в Visual C#.

Как правильно число в ячейке типа string, перекинуть в ячейку в тип double ?
Cуть вопроса описанна в теме. Может не правильно объяснил, но всё же, вот пример: #include <iostream> #include...

Нужно сделать, что-бы textBox принимал значения типа double
есть функция, в которой я проверяю, входят ли в диапазон числа и ввожу их в textbox..но почему-то моя функция отказывается работаться с...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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