![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Float To Str & Decimal Separator
@!!ex © (2007-10-22 19:05:00)Есть проект.
Одна из важнейших его задач - разбор текстового скрипта.
Все работает... Но тут возникла неприятная проблема.
На некоторых компьютерах вылетает эксцепшн вида:
"'1000,0' is not a valid floating point value"
Как я понял, это связано с установленным в винде Decimal Separator'ом.
Но ничего толкового в справке не нашел.
Вопрос, как можно это исправить?
Skyle (2007-10-24 06:35:00) [1]
> vpbar © (23.10.07 21:09) [33]
> "Многоуважаемый" стрелок, может вы дадите свой совет. Или
> вы только отстреливать можете.
> Чем вам так советы не понравились?
В принципе, причина неприятия описана в [14] и [17].
> У описанного в 1 и 5 есть некоторые побочные эффекты - это
> нужно помнить. А у метода 3 - просто дольше выполняется.
Каюсь, неверно отквотил. Отстреливать хотел ваш ответ [6], а предложить - ваш ответ [3], поскольку оригинатор не сообщил, какая у него версия Delphi.
А предлагать [1] или [5] в этой конференции без объяснения спецэффектов считаю злом и введением в заблуждение.
Leonid Troyanovsky (2007-10-23 21:32:00) [2]
> Set. © (23.10.07 21:26) [35]
> мне ... эээ помощь .. ...нужна
Надо создать свой топик со своим вопросом,
если уж ничего подходящего не нашлось.
И обязательно прочитать
http://ln.com.ua/~openxs/articles/smart-questions-ru.html
--
Regards, LVT.
@!!ex (2007-10-23 21:29:00) [3]> [35] Set. © (23.10.07 21:26)
Ну и че надо?
Set. (2007-10-23 21:26:00) [4]мне ... эээ помощь .. ...нужна
Set. (2007-10-23 21:25:00) [5]тут кто нить есть
vpbar (2007-10-23 21:09:00) [6]Skyle © (23.10.07 06:56) [12]
> DevilDevil (22.10.07 19:28) [5]
> Jump (22.10.07 19:07) [1]
> vpbar © (22.10.07 19:18) [3]
Отстреливал бы за такие советы. Особенно в данной конференции.
"Многоуважаемый" стрелок, может вы дадите свой совет. Или вы только отстреливать можете.
Чем вам так советы не понравились?
У описанного в 1 и 5 есть некоторые побочные эффекты - это нужно помнить. А у метода 3 - просто дольше выполняется.
ЗЫ Отстреливал бы тех, кто только отстреливать может, чтоб не размножались.
@!!ex (2007-10-23 17:07:00) [7]> [31] Leonid Troyanovsky © (23.10.07 15:49)
На самом деле все гораздо запущенней. :(
Но править уже поздно, да никто и не позволит.
Leonid Troyanovsky (2007-10-23 15:49:00) [8]
> @!!ex © (23.10.07 15:33) [30]
> метода, который универсальные модули не трогает. Тоесть
> у описанного в [5].
Как все запущено.
--
Regards, LVT.
@!!ex (2007-10-23 15:33:00) [9]> [29] Anatoly Podgoretsky © (23.10.07 15:29)
Проблема в том, что нельзя заменять.
есть набор модулей, который универсальный и на его основе работает уже около 10 приложений.
если в этом универсальном наборе что-то менять, то править придется все зависимые приложения, а этого делать нельзя, поскольку некоторые из них уже зарелизены, и если я их трону, мне дадут по шее. Соответственно преимущество у того метода, который универсальные модули не трогает. Тоесть у описанного в [5].
Anatoly Podgoretsky (2007-10-23 15:29:00) [10]> Kolan (23.10.2007 15:15:28) [28]
Да любым текстовым редактором это быстро находится и заменяется на версию с FormatSetting, тем же Дельфи
Kolan (2007-10-23 15:15:00) [11]> и что он так шарахается от [14].
Да наверно у него FloatToStr по коду разбросано, имхо элементарного Extract Mathod хватит, чтобы исправить положение
Leonid Troyanovsky (2007-10-23 15:13:00) [12]
> Anatoly Podgoretsky © (23.10.07 15:07) [26]
> Не очень умная мысль, до того что бы уйти от последствий
> этого Борланду потребовалось много времени.
Конечно, много, за это время не один компилятор выпущен.
Но, мы-то, не в курсе, какая версия у вопрошающего,
и что он так шарахается от [14].
--
Regards, LVT.
Anatoly Podgoretsky (2007-10-23 15:07:00) [13]
> которая предварительно сохранит текущий DecimalSeparator,
> and finally - restore.
Не очень умная мысль, до того что бы уйти от последствий этого Борланду потребовалось много времени. Надо просто использовать потоко безопасные методы и функции.
Anatoly Podgoretsky (2007-10-23 15:06:00) [14]
> Но предлагать то продолжают..
Ты надеешься это остановить?
Leonid Troyanovsky (2007-10-23 15:04:00) [15]
> @!!ex © (23.10.07 14:37) [20]
> Вроде отличаем. Мне как раз и надо чтобы все вызовы StrToFloat
> в приложении обрабатывали нормально запятую.
Если юзеру не придется видеть(вводить) изуродованные тобой числа,
то, конечно, валяй.
Иначе, если не можешь следовать [14], придется менять требуемые
вызовы StrToFloat на MyStrToFloat, которая предварительно сохранит текущий DecimalSeparator, and finally - restore.
--
Regards, LVT.
@!!ex (2007-10-23 15:03:00) [16]> [22] Anatoly Podgoretsky © (23.10.07 14:49)
Да я уже сделал. :)
Но предлагать то продолжают..
Anatoly Podgoretsky (2007-10-23 14:49:00) [17]> @!!ex (23.10.2007 14:37:20) [20]
Тебе уже несколько раз ответили
Kolan (2007-10-23 14:45:00) [18]> Этот вариант подразумевает переписывание всего кода, что
> не есть гут. :(
Что-то странно что у тебя в куче мест надо будет переписывать. Может извлечь соотв методы?
@!!ex (2007-10-23 14:37:00) [19]> [19] Leonid Troyanovsky © (23.10.07 12:50)
Вроде отличаем. Мне как раз и надо чтобы все вызовы StrToFloat в приложении обрабатывали нормально запятую.
Где я что упустил?
Leonid Troyanovsky (2007-10-23 12:50:00) [20]
> @!!ex © (23.10.07 11:42) [18]
> Ок. Значит в [5] как раз то что нужно..
Угу-мс.
Смотрим в книгу и видим фигу.
Общее от частного отличаем?
--
Regards, LVT.