С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 19.02.2013
Сообщений: 32
1

Работа с точкой: ввод с цифровой клавиатуры

17.06.2014, 20:31. Показов 2249. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При вводе в текст боксы числа запятой, он компилятор требует именно запятую. Но мне удобнее вводить числа с правой стороны клавы ( привычка от калькуляторов). Но кнопка " delete " ставит там именно точку, и жутко неудобно, особенно когда вводишь какие-нить большие числа..как сделать так, чтобы прога не вылетала, а нормально работала с точкой вместо запятой?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2014, 20:31
Ответы с готовыми решениями:

Ввод нецелого числа с запятой и точкой
В текстовое поле вводится число при нажатии кнопки производятся расчеты и выводится ответ. Если...

Работа с текстом в Java, ввод с клавиатуры
Нужно написать программу и часть кода должна выводить цифровую строку. Пользователь вводит с...

Ассемблер\Работа с файлами\Поиск в файле\ввод искомого символа с клавиатуры с выводом результата на екран.
Всем доброго времени суток. проблема то вот в чем: мне необходимо сделать програму,вводишь с...

Создание цифровой клавиатуры
Доброго времени суток. Задача: Экран ввода цифрового пароля, лог-пасс хранятся на внешнем...

5
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
17.06.2014, 21:46 2
Цитата Сообщение от Votan Посмотреть сообщение
компилятор требует именно запятую.
Разными путями можно предложить ему съедобный вариант. Вы можете изменить культуру потока или всего приложения см. System.Clobalization.CultureInfo.
Если этого не хочется, то можно в метод конвертирующий строку (из текстбокса например) передать параметр:
IFormatProvider provider
C++
1
double a = Convert::ToDouble(this.texstBox1->Text,  provider);
Объект формата создайте русский или немецкий, например. Тогда с точкой можно.
0
Заблокирован
17.06.2014, 23:41 3
Да очень просто.
Перед тем как читать значение из текстбокса, заменять точку на запятую. Как-то так
C++
1
textBox1->Text = textBox1->Text->Replace(".", ",");
и всё.
Если точки не будет, то ничего не произойдет.
1
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
18.06.2014, 00:20 4
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Если точки не будет, то ничего не произойдет.
Можно конечно. В textChanged для всех интересующих текстбоксов записать, например. Но имхо, это такой же мединструмент для опорно-двигательного аппарата, что и мной предложен.
Лучше локализоваться изменив приложению текущую культуру. Тогда прогой сможет пользоваться любой юзер, независимо от привычек, кроме культурных конечно.
0
Заблокирован
18.06.2014, 07:58 5
В textChanged для всех интересующих текстбоксов записать, например.
Неэффективно. TextChanged вызывается при каждом вводе или удалении цифры из текстбокса
Лучше в KeyDown или там KeyPress проверять, не точку ли вводят, и если точку, то подменять запятой.
1
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
18.06.2014, 11:26 6
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Неэффективно. TextChanged вызывается при каждом вводе или удалении цифры из текстбокса
Лучше в KeyDown или там KeyPress проверять, не точку ли вводят, и если точку, то подменять запятой.
А если строку через буфер вставить?
Ну, то есть неэффективно в принципе.
Даже если один на всех делегат присоединить. Но хуже, - путаница и трудности локали. Лучше пусть клиент выберет локаль и с чистым сердцем использует подходящий формат.(имхо)
0
18.06.2014, 11:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2014, 11:26
Помогаю со студенческими работами здесь

Ввод с клавиатуры значения=>работа функции=>вывод значения на экран
Есть функция факториала: SECTION .start global _start _start: mov eax, 10; mov ecx, eax;...

Сымитировать нажатие цифр дополнительной (цифровой) клавиатуры
Нужно сымитировать нажатие цифр дополнительной (цифровой) клавиатуры. В частности - для ввода...

Подсветка цифровой клавиатуры при вводе телефона на мобильном
Привет ,как сделать чтобы клавиатура при вводе имени была текстовая а при вводе телефона цифровая с...

Как правильно заменить ввод данных простой на ввод с клавиатуры?
#include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std; int...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru