Форум: "Начинающим";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
ВнизФорматирование вычисляемого поля Найти похожие ветки
← →
koks (2005-10-20 12:04) [0]Уважаемые мастера, подскажите
Мне надо чтобы вычисляемое float-поле форматировалось так:
значение DisplayText
35,28 + 35,28%
-35,28 - 35,28%
0 0
пишу в DisplayFormat:
"+"### ### ##0.00"%";"-"### ### ##0"%".00;0
однако все отображается неправильно.
Подскажите - как правильно.
← →
Baltika-9 (2005-10-20 12:06) [1]См. пример к функции FormatFloat.
← →
koks (2005-10-20 12:08) [2]Смотрел - не помогло.... заклинило
← →
Baltika-9 (2005-10-20 12:15) [3]DisplayFormat := "#,##0.00%";
← →
koks (2005-10-20 15:21) [4]Ну нет - не такой уж я начинающий, но все равно переклинило...
Во-первых, подсказка не верна. Правильно - # ##0.00"%";
Во-вторых, мне нужно:
1. Чтобы в положительных значениях печатался знак ("+35,28%")
2. Чтобы 0 отображался "0" а не "0.00%";
Вот те в чем загвоздка.
← →
evvcom © (2005-10-20 15:37) [5]Тогда в TField.OnGetText обрабатывай.
← →
koks (2005-10-20 15:45) [6]Ну да, еще можно вычисляемые поля определить как стринг. В обработчике OnCalc вычислять вещественное число и дополнительной операцией делать FormatFloat.
Варианты есть.
Но я хочу понять, почему не работает стандартный подход. Ведь в хелпе ясно написано: в DisplayFormat может быть три секции, разделенные ;
Одна для положительных чисел, вторая для отрицательных и третья для 0.
Для каждых 3-х вариантов можно задавать свой формат. Это-то мне и надо.
Я записал строку - не могу понять где ошибка.
← →
evvcom © (2005-10-20 15:56) [7]
> Во-первых, подсказка не верна. Правильно - # ##0.00"%";
С чего ты это взял? Из хелпа: ", Thousand separator."
← →
koks (2005-10-20 16:00) [8]Thousand separator берется из того, что установлено в системе в региональных настройках. Лично у меня там стоит пробел.
А напрвильно в подсказке расположение кавычек.
← →
koks (2005-10-20 16:04) [9]Хотя запятая тоже проканывает. Выходит можно и так и так.
← →
koks (2005-10-20 16:07) [10]Ура!!! Понял в чем ошибка - если в оригинальной строке (первый пост) заменить пробел на запятую все работает!!
Да видать и впрямь я начинающий
Всем сспасиба...
← →
evvcom © (2005-10-20 16:22) [11]
> Thousand separator берется из того, что установлено в системе
> в региональных настройках.
Это при вводе/выводе функций XxxToStr/StrToXxx и пр. А для DisplayFormat явно написано, что ",", и ни слова про региональные настройки.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c