![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 25.04.2010
Сообщений: 11
|
![]()
Проблема такова. Dbgrid + adotable + datasource. Есть столбец с числами с запятой, два знака после нее. Суммирую столбец. Сумму кидаю в лейбл. У меня на компе отображается сумма с запятой, два знака после, все как положено. На любом другом, где нет делфи, отображается сумма с точкой, два знака после. В чем косяк, подвох, не могу понять? Мне надо запятая чтобы была, а не точка. Пробовал и FloatToStr и FloatToStrF. Результат одинаковый. Вот часть кода:
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,504
|
![]()
Может быть, это поможет - http://www.programmersforum.ru/showthread.php?t=302395
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 25.04.2010
Сообщений: 11
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,855
|
![]()
DecimalSeparator := ',';
И при преобразовании из строки в число на всякий случай заменять току на запятую. E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 25.04.2010
Сообщений: 11
|
![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
да. при запуске программы (ну, например, в процедуре OnCreate главной формы.
но это обеспечит Вам вывод значений в нужном формате. а при вводе вещественных чисел рекомендуется заменять и точки и запятые на этот самый DecimalSeparator: если есть в программе перевод из строки в число, конечно. тогда перед StrToFloat(ss) сделать Код:
![]() |
![]() |
![]() |
![]() |
#7 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 27.04.2012
Сообщений: 219
|
![]()
А за что руки то рубить?Serge_Bliznykov не заменяет глобальные настройки. Руки рубить надо тем, кто под нужды программы изменяет эти настройки,а не читает.
И код будет работать, у меня XE7, прекрасно понимает строчку Код:
Код:
Пишу много и развернуто
Последний раз редактировалось Heneken87; 13.01.2017 в 07:18. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
что за ересь? DecimalSeparator в Delphi (старой) - это исключительно внутренняя переменная. Ни на какие другие программы это никак не влияет и влиять не может.
Вы с реестром или функциями WinAPI не путаете? по поводу изменения настроек десятичного разделителя в программе (отличного от системного разделителя). Тут, конечно, спорный момент. Но, на мой взгляд, я не вижу никакого криминала, если программа игнорирует настройки винды и определяет свой разделитель. Ну, например, никого же не смущает, что в программе на ЯВУ десятичная точка - это всегда ".", а не то, что назначил пользователь в региональных настройках винды? впрочем, это уже выходит за рамки вопроса почему "При выводе вещественной суммы в Label запятая заменяется на точку". Хотя Delphi в данном случае поступает именно так - как в винде настроено, так она и выводит. И почему-то TC это не нравится ![]() |
![]() |
![]() |
![]() |
#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 |