|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.01.2017, 19:08 | #1 |
Пользователь
Регистрация: 25.04.2010
Сообщений: 11
|
При выводе вещественной суммы в Label запятая заменяется на точку.
Проблема такова. Dbgrid + adotable + datasource. Есть столбец с числами с запятой, два знака после нее. Суммирую столбец. Сумму кидаю в лейбл. У меня на компе отображается сумма с запятой, два знака после, все как положено. На любом другом, где нет делфи, отображается сумма с точкой, два знака после. В чем косяк, подвох, не могу понять? Мне надо запятая чтобы была, а не точка. Пробовал и FloatToStr и FloatToStrF. Результат одинаковый. Вот часть кода:
Код:
|
05.01.2017, 19:25 | #2 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Может быть, это поможет - http://www.programmersforum.ru/showthread.php?t=302395
|
05.01.2017, 19:38 | #3 | |
Пользователь
Регистрация: 25.04.2010
Сообщений: 11
|
Цитата:
|
|
12.01.2017, 11:53 | #4 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
DecimalSeparator := ',';
И при преобразовании из строки в число на всякий случай заменять току на запятую. E-Mail: arigato.freelance@gmail.com
|
12.01.2017, 17:54 | #5 |
Пользователь
Регистрация: 25.04.2010
Сообщений: 11
|
|
13.01.2017, 01:22 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
да. при запуске программы (ну, например, в процедуре OnCreate главной формы.
но это обеспечит Вам вывод значений в нужном формате. а при вводе вещественных чисел рекомендуется заменять и точки и запятые на этот самый DecimalSeparator: если есть в программе перевод из строки в число, конечно. тогда перед StrToFloat(ss) сделать Код:
|
13.01.2017, 02:25 | #7 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
|
13.01.2017, 07:15 | #8 |
Форумчанин
Регистрация: 27.04.2012
Сообщений: 219
|
А за что руки то рубить?Serge_Bliznykov не заменяет глобальные настройки. Руки рубить надо тем, кто под нужды программы изменяет эти настройки,а не читает.
И код будет работать, у меня XE7, прекрасно понимает строчку Код:
Код:
Пишу много и развернуто
Последний раз редактировалось Heneken87; 13.01.2017 в 07:18. |
13.01.2017, 11:46 | #9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
что за ересь? DecimalSeparator в Delphi (старой) - это исключительно внутренняя переменная. Ни на какие другие программы это никак не влияет и влиять не может.
Вы с реестром или функциями WinAPI не путаете? по поводу изменения настроек десятичного разделителя в программе (отличного от системного разделителя). Тут, конечно, спорный момент. Но, на мой взгляд, я не вижу никакого криминала, если программа игнорирует настройки винды и определяет свой разделитель. Ну, например, никого же не смущает, что в программе на ЯВУ десятичная точка - это всегда ".", а не то, что назначил пользователь в региональных настройках винды? впрочем, это уже выходит за рамки вопроса почему "При выводе вещественной суммы в Label запятая заменяется на точку". Хотя Delphi в данном случае поступает именно так - как в винде настроено, так она и выводит. И почему-то TC это не нравится |
13.01.2017, 17:08 | #10 |
Пользователь
Регистрация: 25.04.2010
Сообщений: 11
|
неа, не нравится)) потому что я не мог понять, что за ерунда творится))) ко всему прочему винда еще и не сохраняет те настройки, что я указал)) если я меняю запятую на точку в настройках, то после ребута системы настройки скидываются все равно на точку. это блин как??? следовательно, очень хорошо, что на этом моя тема не исчерпала себя. и тут развернулась дискуссия. видимо придется делать обходом в самом коде. и да, делфи у меня седьмое.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при выводе | Pasha_Sh | Общие вопросы Delphi | 7 | 27.03.2015 19:52 |
Ошибка при выводе | trad | Общие вопросы C/C++ | 7 | 15.01.2011 11:32 |
tchart - Как при наведении курсора на определенную точку сериэса узнать точку наведения и отобразить её | xaero93 | Помощь студентам | 0 | 22.04.2009 19:28 |
При расположении Label на компонентах, место под Label, не реагирует на событие onClick. | NavigatorNeba | Компоненты Delphi | 3 | 15.11.2008 19:56 |