Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Label: Разделять тысячи точнок.

298
18 февраля 2005 года
zatch
622 / / 20.01.2000
Привет.

Имеется TLabel в неё из базы данных вставляется цена дома. Цифра.

Надо что бы между тысячами и сотнями вставлялась точка. Замечу что цена может быть и больше миллиона.

Как по вашему проще всего это сделать?
368
18 февраля 2005 года
rostyslav
629 / / 13.07.2004
Проще всего вручную вставлять точки, но можно и программно, напр.

Label1->Caption = Format("%n", ARRAYOFCONST((1213213.23)));
или
Label1->Caption = Format("%m", ARRAYOFCONST((1213213.23)));
298
18 февраля 2005 года
zatch
622 / / 20.01.2000
Цитата:
Originally posted by rostyslav
Проще всего вручную вставлять точки, но можно и программно, напр.

Label1->Caption = Format("%n", ARRAYOFCONST((1213213.23)));
или
Label1->Caption = Format("%m", ARRAYOFCONST((1213213.23)));



Что то я не понял. Кто тут ошибается.

Данные вставляются динамически из базы данных. Длина строки тоже варьируется.

Так что руками я это сделать никак не могу. Ну а что касается программно, то как я буду вставлять точки при открытии нового объекта из таблицы.

Надеюсь я понятно написал.

368
19 февраля 2005 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by zatch
Что то я не понял. Кто тут ошибается.

Это я ошибся. Я предполагал, что ты от А:
Label1->Caption = Format("%n", ARRAYOFCONST((1213213.23)));
можешь самостоятельно дойти до Б:
Label1->Caption = Format("%n", ARRAYOFCONST((Table1PRICE->AsFloat)));

298
20 февраля 2005 года
zatch
622 / / 20.01.2000
Цитата:
Originally posted by rostyslav
Label1->Caption = Format("%n", ARRAYOFCONST((Table1PRICE->AsFloat)));



Спасибо, навёл на мысль.

Решил я так:

double test_d;
test_d = DataModule2->Table1->FieldValues["PRECIO_VENTA"];
Label9->Caption = FormatFloat("#,###'.'###", test_d);

368
20 февраля 2005 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by zatch


Спасибо, навёл на мысль.

Решил я так:

double test_d;
test_d = DataModule2->Table1->FieldValues["PRECIO_VENTA"];
Label9->Caption = FormatFloat("#,###'.'###", test_d);

Вообще-то ты гений(только не зазнавайся :D). Вспомнил, как я делал подобные вещи. Значит для поля напр.PRECIO_VENTA в property DisplayFormat пишется #,###.### И тогда можно написать
Label9->Caption = DataModule2->Table1->FieldByName("PRECIO_VENTA")->DisplayText;

298
20 февраля 2005 года
zatch
622 / / 20.01.2000
Цитата:
Originally posted by rostyslav
Вообще-то ты гений(только не зазнавайся :D). Вспомнил, как я делал подобные вещи. Значит для поля напр.PRECIO_VENTA в property DisplayFormat пишется #,###.### И тогда можно написать
Label9->Caption = DataModule2->Table1->FieldByName("PRECIO_VENTA")->DisplayText;



ОК, я запомню, на будущее.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог