StrToCurr('-922337203685477.5808') raises exception for lowest currency value on Win64
Original Reporter info from Mantis: lacak @lacak.sk
-
Reporter name: LacaK
Original Reporter info from Mantis: lacak @lacak.sk
- Reporter name: LacaK
Description:
While valid range for currency data type is from -922337203685477.5808 to +922337203685477.5807,
StrToCurr supports only range -922337203685477.5807 to +922337203685477.5807
As StrToCurr calls fpc_Val_Currency_ShortStr() in rtl/inc/sstrings.inc bug is also in:
var c: currency;
e: integer;
begin
Val('-922337203685477.5808', c, e);
end;
Additional information:
Note that on Win32 it works, while fpc_Val_real_shortstr() is called (not fpc_Val_Currency_ShortStr()).
In Delphi7 StrToCurr('-922337203685477.5808') works and returns correct value.
Mantis conversion info:
- Mantis ID: 29037
- Version: 2.6.4
- Fixed in version: 3.0.2
- Fixed in revision: 33339 (#9d75d3aa)
- Target version: 3.1.1