Следующий код, который пытается преобразовать значение, значительно превышающее диапазон двойной точности
StrToFloat('1e99999999')
правильно сообщает о некорректном значении с плавающей запятой в Delphi 10.2r3 с помощью компилятора Windows 32 bits, но при компиляции с компилятором Windows 64 бит он молча возвращает 0 (ноль).
Есть ли способ заставить StrToFloat сообщать об ошибке, когда значение с плавающей запятой неверно?
Я пробовал TArithmeticException.exOverflow, но в этом случае это не влияет.
Я также попробовал TArithmeticException.exPrecision, но он запускается во многих обычных случаях аппроксимации (fi запускается при преобразовании '1e9').
Проблема была замечена с обновлением Delphi 10.2 3
addendum: для решения этой проблемы я начал альтернативную реализацию чистой строки для двойного преобразования, исходную версию с тестами можно найти в dwscript commit 2ba1d4a