Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Float To Str & Decimal Separator


Страницы:   1 2

@!!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.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо