113 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 160
1

Разбиение числа в TEdit на разряды

29.05.2013, 21:55. Показов 1717. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.

В Edit вводится число, например 6258125, надо сделать так, чтобы при вводе число автоматически разбивалось на разряды, т.е. было вот в таком виде 6 258 125. К виду 625 812 5 я его привел без проблем, а к нормальному никак не получается. Как это правильно сделать?

Добавлено через 28 минут
Длина числа может быть любой.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2013, 21:55
Ответы с готовыми решениями:

Разбиение числа на разряды
Delphi. При вводе числа в edit оно должно разбиваться на разряды. Например, 123456789 и должно...

Разбиение числа пробелами на разряды
Маленький вопросик, не мог найти примера но где-то давно попадалось уже.. как разбить число к...

Разбиение на разряды
В десятичной записи числа 42*4* пропущены 2 цифры. Определите эти цифры, если известно, что число...

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

8
LK
Заблокирован
29.05.2013, 22:03 2
Цитата Сообщение от KOSHAK_ Посмотреть сообщение
Как это правильно сделать?
- вот как делали (угадываетель кода на расстоянии, как обычно, у меня отключен за неуплату), только начинать надо с другого конца .
0
113 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 160
29.05.2013, 22:07  [ТС] 3
Да что-то не могу сообразить как.. Делал вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
if(Key != VK_BACK && Key != VK_DELETE){
 
    if(Edit2->Text.Length() > 2){
 
        if((a2 % 3) == 0){ Edit2->Text = Edit2->Text + " ";
            Edit2->SetFocus();
            Edit2->SelLength = 0;
            Edit2->SelStart = Edit2->Text.Length();
        }
    }
 a2++;
}
Точнее со статической строкой проблем нет, можно делить на 1000000, 1000 и т.д. А тут идет ввод и во время ввода надо разбивать на разряды и отображать в тот же Edit, в который идет ввод...
0
LK
Заблокирован
29.05.2013, 22:18 4
Цитата Сообщение от KOSHAK_ Посмотреть сообщение
во время ввода
форматируйте строку после завершения ввода в эдит - OnExit()

Можно и в OnChange, но хлопот будет, имхо ...
0
113 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 160
29.05.2013, 22:20  [ТС] 5
Да я вот тоже так думал, но хотелось сделать "красиво" Ну значит сделаю в OnExit()
0
LK
Заблокирован
29.05.2013, 22:22 6
хм... а MaskEdit - без велосипеда?
0
113 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 160
29.05.2013, 22:25  [ТС] 7
Пробовал, но получилось настроить маску только на форматирование вот в таком виде 625 812 5...
0
LK
Заблокирован
29.05.2013, 22:43 8
а так
Разбиение числа в TEdit на разряды
Разбиение числа в TEdit на разряды
Разбиение числа в TEdit на разряды

и поставить пробел вместо знака подчеркивания, чтобы не напрягала маска ввода при выполнении
0
LK
Заблокирован
29.05.2013, 22:45 9
Цитата Сообщение от KOSHAK_ Посмотреть сообщение
Пробовал
н-да, оно для "форматного" ввода
0
29.05.2013, 22:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2013, 22:45
Помогаю со студенческими работами здесь

TEdit Разбиение цифр
Добрый день, уважаемые Форумчане! Подскажите пожалуйста, как задать для TEdit разбиение цифр на...

Подсчет количества цифр во введенном числе и разбиение его на разряды
Напишите программу, подсчитывающую кол-во цифр во введенном числе и разбивающую это число на...

Поменять местами 8.5.3.2 - разряды первого числа с 0.1.6.7 с разрядами второго числа (tasm)
Даны два числа в двоичном виде. Поменять местами 8.5.3.2 - разряды первого числа с 0.1.6.7 с...

Получить последние разряды десятичного числа из 4 байт изначального 8 байтного числа
Здравствуйте. Подскажите пожалуйста В наличии long к примеру start = 8842334613 количество знаков...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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