Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с StrToFloat, Дробные числа 
V
    Опции темы
Cosmologist
Дата 28.9.2006, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 13.8.2006

Репутация: нет
Всего: 0



Всем привет.
Обнаружил странный глюк Delphi: писал программу для работы и вней используется частично функция StrToFloat, написал, принес, запускаю - '0.35' is not floating point value. Хм, вроде всегда точка использовалась в дробных значениях. Исходники были дома, прихожу домой запускаю - все работает, подставляю вместо точки запятую, выскакивает ошибка   smile 
Вообщем, как такое может быть и как с этим бороться? smile 
Есть же какое то разумное объяснение, в то что на разных компах дробные числа могут быть в разном представлении не поверю даже под дулом пистолета smile 

Жду ваших советов!
PM MAIL   Вверх
Romikgy
Дата 28.9.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



DecimalSeparator


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Cosmologist
Дата 28.9.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 13.8.2006

Репутация: нет
Всего: 0



что такое DecimalSeparator ?
PM MAIL   Вверх
~FoX~
Дата 28.9.2006, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Cosmologist, Разделить дробной части...
Скорее всего вместо 0.35, надо 0,35


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
skyboy
Дата 28.9.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



Цитата(Romikgy @  28.9.2006,  15:05 Найти цитируемый пост)
DecimalSeparator 

если расписать этот, безусловно полезный совет, то следует отметить, что при обращении к этому свойству(уже не помню какого объекта... или это функция?) мы получаем символ, который в текущий момент является разделителем в дробных числах. у тебя, скорее всего, дома разделителем является запятая(региональный стандарт для ряда стран СНГ), потому преобразование "0.35" вызывает сбой: должно быть "0,35". А чтоб определить такую ситуацию и заменить точку на разделитель регионального стандарта, надо опросить указанный метод(свойство или функцию - надо в хелпе глянуть, что это такое)
PM MAIL   Вверх
Cosmologist
Дата 28.9.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 13.8.2006

Репутация: нет
Всего: 0



To Fox, согласен, но на другом компе вылетает ошибка, и работает '0.35'

Добавлено @ 16:44 
TO SkyBoy. Спасибо огромное - теперь все понятно  smile 
PM MAIL   Вверх
Тьма
Дата 28.9.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 22.1.2005
Где: Украина, Винница

Репутация: 1
Всего: 4



тебе в строке, которую ты передаешь в процедуру StrToFloat надо менять запятую на точку, или запретить вводить точку, если это возможно


--------------------
Vir magni ingenii                 
PM MAIL ICQ   Вверх
Romikgy
Дата 28.9.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Cosmologist, внизу страницы посмотри и в поиск по слову
Цитата(skyboy @  28.9.2006,  15:30 Найти цитируемый пост)
DecimalSeparator 




--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1728 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.