482 / 270 / 57
Регистрация: 08.10.2015
Сообщений: 1,158
|
|
1 | |
Десятичный системный разделитель08.10.2015, 14:15. Показов 2009. Ответов 4
Метки нет (Все метки)
Здравствуйте товарищи (господа) специалисты!
Прошу помощи в решении вопроса любителю. Есть программа на Билдер 5. Она содержит математические выражения, в которых присутствуют десятичные числа, принимает числа вводимые пользователем, числа из файлов, от других программ и "железа". Пишет в файл и отсылает данные в другие программы и "железо". Все это работает в системе с десятичным разделителем " . ". Возникла необходимость работы в системе с десятичным разделителем " , ". Что делать? Можно, конечно, при запуске программы запомнить системный разделитель, установить " . ", а при выходе восстановить системный. Но этот вариант не годится, т.к. у пользователя могут работать его программы и они начнут глючить или он не сможет с ними общаться пока не закроет мою. Заменить все числа в формулах на константы и проверять их и вводимые числа и преобразовывать в соответствии с системным разделителем - можно, хотя и несколько коряво. Но, что делать с внешними данными? Поток может быть до нескольких десятков Мбайт/с, и проверка с заменой просто не пройдет по быстродействию. Помогите! САлександр.
0
|
08.10.2015, 14:15 | |
Ответы с готовыми решениями:
4
Десятичный разделитель и INI-файлы Embarcadero. Как настроить десятичный разделитель Заменить десятичный разделитель в строке представленной числом Замена '.' или ',' на системный разделитель при вводе в текстовый компонент |
Native x86
5514 / 3273 / 934
Регистрация: 13.02.2013
Сообщений: 10,424
|
|
08.10.2015, 14:18 | 2 |
1
|
482 / 270 / 57
Регистрация: 08.10.2015
Сообщений: 1,158
|
|
09.10.2015, 15:59 [ТС] | 3 |
Спасибо quwy.
Я его (DecimalSeparator) и использовал, но думал что он глобальный и глюки во взаимодействии программ приписывал ему, при этом я запоминал системный и при закрытии программы восстанавливал его. После Вашего совета присмотрелся внимательнее и обнаружил, что он локальный! Значит: 1. запоминать и восстанавливать - это лишнее, 2. он не является причиной глюков. Прочесал свой код и нашел причину. Еще раз спасибо.
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
12.10.2015, 13:00 | 4 |
САлександр, ну может тогда в том месте, где возникла необходимость работы с запятой проверять весь трафик из этого места и заменять разделитель в нем на точку?
0
|
482 / 270 / 57
Регистрация: 08.10.2015
Сообщений: 1,158
|
|
12.10.2015, 14:23 [ТС] | 5 |
Вопрос решен. Всем спасибо.
0
|
12.10.2015, 14:23 | |
12.10.2015, 14:23 | |
Помогаю со студенческими работами здесь
5
Объединить байты и преобразовать в десятичный вид Разделитель Как сменить системные параметры: десятичный разделитель и разделитель в дате? Десятичный разделитель Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |