Thomas Mueller - 2026-10-19

Fixed in revision #2473.

The Single and Double overloads of TryStr2Float now return False for a value that would round to INF in the target type, on every version, instead of raising EOverflow (up to Delphi 11) or returning True with INF (Delphi 12). The check compares with the type's largest value plus half a unit in the last place, so a value that rounds down to MaxSingle / MaxDouble, e.g. 3.40282346638529E38, is still accepted. INF and NAN, which Delphi 12 accepts, stay valid. A value too small for the type still becomes a denormal or 0. TIniFile_TryReadFloat with Single or Double benefits from this. New tests in ConvertUtils.