powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема c StrToFloat при использований RoundTo
10 сообщений из 10, страница 1 из 1
Проблема c StrToFloat при использований RoundTo
    #32094552
Alex_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, сталкивался ли кто с такой проблемой ...

Есть модуль в нем используется StrToFloat следущим образом
Temp := StrToFloat('31,822434');
Все работает все ок !!!

Хочу использовать RoundTo, в units добавляю Math ...
Temp := StrToFloat('31,822434');
// получаю тут temp = 0 ?????
Temp := RoundTo(temp,4);

В чем может быть проблема ...
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32094581
Фотография Тимур
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты знаешь, может быть StrToFloat берется из разных юнитов?
В первом случае берется "работающий" (из SysUtils), а во втором - лажа из "Math"
попробуй так SysUtils.StrToFloat('31.23232');
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32094601
Alex_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал ... SysUtils.StrToFloat и Math.RoundTo ...
и порядок следования модулей менял - Все без толку ... :(((

Создал тестовый пример ... Все работает ... :))
А в глобальном проекте нет ... :((
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32094619
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проект и пример на разных машинах?
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32094624
Фотография Тимур
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема может быть в следующем : в строке, которую ты преобразуешь запятая отличается от
DecimalSeparator => он не может сконвертить строку и выдает 0 (хотя должен по идее плеваться исключениями)
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32094635
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, вот я к чему и вёл.
если на разных - см. Regional Settings
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32094852
Alex_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все на одной машине и в одно время ...
В модуль вносится только одна строка
Temp := RoundTo(temp,4);
и соотвественно в unit добавляется Math
Проект перекомпилируется и пересобирается и ловится баг ...

Так что на счет DecimalSeparator и Regional Settings
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32094853
Alex_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обрезало ...

Так что на счет DecimalSeparator и Regional Settings - все ок и глюк не из за них ...
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32095741
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как ты проверяешь, что Temp=0?
Если в режиме отладки смотришь значение переменной, так попробуй
Код: plaintext
ShowMessage(FloatToStr(temp));
а то я уже много раз сталкивался с тем что во время отладки значения не показываются, когда к этому нет никаких предпосылок, или показываются неправильно... Вобщем, перестал я верить в отладчик в последнее время, кстати какая версия Delphi используется? Особенно отладчик глючит в рекурсивных процедурах. У меня программа, если просто поставить брейкпойнт в рекурсивной процедуре, вообще начинает работать по другому, мне кажется он неправильно возобновляет её...
...
Рейтинг: 0 / 0
Проблема c StrToFloat при использований RoundTo
    #32095937
Alex_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счет отладчика, согласен, местами глючит ...
А смотрел или как ты говоришь

ShowMessage(FloatToStr(temp));

или условием по логики программы

if (temp = 0 ) then

так что к сожалению беда не в этом ...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема c StrToFloat при использований RoundTo
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]