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

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

вещественные числа в различных Виндах


Solomon ©   (2005-09-01 16:47:00) 

Появилась такая проблема, ну и к ней появились вопросы:
Значит проблема состоит в том, что при конвертации вещественного чилса ( например: 5.1245 ) из строки в число в 98 винде все нормально, но как только программа запускаеться на ХР, то выдаеться ошибка - ***** is not a valid floating point value и приходиться из 5.1245 делать 5,1245 .
Почитал форум и понял, что к функции StrToFloat есть константа - DecimalSeparator и она влияет на то, точка там или запята. Но тогда получаеться, что нужно как-то прописывать чтобы в каждой винде ставился свой знак. Вопрос: какая константа и в каком модуле лежит версия текущей винды ?
И еще: почему вообще происходит такая хрень, я что-то не так делаю или что?


jack128   (2005-09-01 17:50:00) [1]

Solomon   (01.09.05 16:47)
есть константа - DecimalSeparator

это не константа, а переменная. При загрузке программы её значение берется из настроек винды. Если же ты хочешь, чтобы вне зависимости от её настроек конкретно в твоей программе разделитель был точкой, то просто напиши DecimalSeparator := '.'
DecimalSeparator объявлен в модуле SysUtils


Наверх

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