Страница 1 из 1
strtofloat - сломали
Добавлено:
Сб мар 17, 2018 10:36 pm
СергейВБР
После обновления до версии от 1 марта, этот кусок кода перестал работать:
Код: Выделить всёbegin
mLogScript(inttostr(trunc(strtofloat('192.16'))), 'Почему равно 0?');
end.
Выдает в логе 0 - почему?
Re: strtofloat - сломали
Добавлено:
Пн мар 19, 2018 2:41 pm
Алексей Пикуров
Здравствуйте. Дробное число пишется через запятую. Хотя должно работать и через точку. Не знаю, почему сейчас работает только через запятую.
Re: strtofloat - сломали
Добавлено:
Пн мар 19, 2018 2:56 pm
СергейВБР
Раньше работало. Скрипт перестал работать после обновления от 1 марта.
По поводу запятых - в справке ни слова об этом, + в примерах везде точки:
Код: Выделить всёvar
sValue: string;
x: extended;
begin
sValue := '123.456E+002';
x := strtofloat(sValue);
mLogScript('StrToFloat = ' + inttostr(trunc(x)), '');
end.
Re: strtofloat - сломали
Добавлено:
Пн мар 19, 2018 2:57 pm
Алексей Пикуров
Да, я в курсе. Попробуем разобраться.
Re: strtofloat - сломали
Добавлено:
Пн мар 19, 2018 3:39 pm
Алексей Пикуров
Разобрался. Всё дело в системных локалях, в английской разделитель дробного числа — точка, в русской — запятая.
Поставил принудительно точку, чтобы скрипты единообразно работали на разных системах. Будет в будущей сборке.
Спасибо за наблюдение.
Re: strtofloat - сломали
Добавлено:
Ср май 23, 2018 4:18 pm
СергейВБР
У вас серверная часть удаленно сама обновляется?
т.к. как только установил обновление 6.8.0 - этот пример заработал, и я изменил скрипты для работы с числами с точкой.
С сегодняшнего утра числа с точкой вновь перестали преобразовываться, и пришлось возвращаться к числу с запятой. С утра из значимого - только Win10 - установил обновление "Накопительное обновление для Windows 10 Version 1607 для систем на базе процессоров x64, 2018 05 (KB4103723)" и комп перезагрузился. После этого, в районе обеда (через промежуток 4 часа), скрипты где числа с точкой начали быковать.
Re: strtofloat - сломали
Добавлено:
Ср май 23, 2018 4:22 pm
Алексей Пикуров
Нет, сервер вы обновляете сами. Если у вас такая свистопляска с локалями в течение дня — смотрите в сторону настроек Windows.
Re: strtofloat - сломали
Добавлено:
Ср май 23, 2018 4:33 pm
СергейВБР
Какая свистопляска?
Я локалей в винде не меняю. Как стояла русская, так и стоит.
Зачем вообще в интерпретаторе привязка к локалям?
Вы вроде делали:
Поставил принудительно точку, чтобы скрипты единообразно работали на разных системах. Будет в будущей сборке.
Так о какой свистопляске речь?
Re: strtofloat - сломали
Добавлено:
Ср май 23, 2018 4:37 pm
Алексей Пикуров
Сервер у вас не менялся, но скрипт работает по-разному в разное время. Я не знаю, почему так. Попробую разобраться.
Re: strtofloat - сломали
Добавлено:
Ср май 23, 2018 6:30 pm
Алексей Пикуров
Сделаны дополненияЯ попробовал на разных локалях и ОС, работает одинаково. Ожидайте обновление.