| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Проблемы с StrToFloat |
| Автор: Cosmologist 28.9.2006, 16:01 |
| Всем привет. Обнаружил странный глюк Delphi: писал программу для работы и вней используется частично функция StrToFloat, написал, принес, запускаю - '0.35' is not floating point value. Хм, вроде всегда точка использовалась в дробных значениях. Исходники были дома, прихожу домой запускаю - все работает, подставляю вместо точки запятую, выскакивает ошибка Вообщем, как такое может быть и как с этим бороться? Есть же какое то разумное объяснение, в то что на разных компах дробные числа могут быть в разном представлении не поверю даже под дулом пистолета Жду ваших советов! |
| Автор: Romikgy 28.9.2006, 16:05 |
| DecimalSeparator |
| Автор: Cosmologist 28.9.2006, 16:18 |
| что такое DecimalSeparator ? |
| Автор: ~FoX~ 28.9.2006, 16:20 |
| Cosmologist, Разделить дробной части... Скорее всего вместо 0.35, надо 0,35 |
| Автор: skyboy 28.9.2006, 16:30 |
если расписать этот, безусловно полезный совет, то следует отметить, что при обращении к этому свойству(уже не помню какого объекта... или это функция?) мы получаем символ, который в текущий момент является разделителем в дробных числах. у тебя, скорее всего, дома разделителем является запятая(региональный стандарт для ряда стран СНГ), потому преобразование "0.35" вызывает сбой: должно быть "0,35". А чтоб определить такую ситуацию и заменить точку на разделитель регионального стандарта, надо опросить указанный метод(свойство или функцию - надо в хелпе глянуть, что это такое) |
| Автор: Cosmologist 28.9.2006, 16:30 |
| To Fox, согласен, но на другом компе вылетает ошибка, и работает '0.35' Добавлено @ 16:44 TO SkyBoy. Спасибо огромное - теперь все понятно |
| Автор: Тьма 28.9.2006, 16:44 |
| тебе в строке, которую ты передаешь в процедуру StrToFloat надо менять запятую на точку, или запретить вводить точку, если это возможно |
| Автор: Romikgy 28.9.2006, 16:44 |
| Cosmologist, внизу страницы посмотри и в поиск по слову |