[fpc-pascal] Inconsistent results currency - extended ?
LacaK
lacak at zoznam.sk
Tue Apr 29 10:22:44 CEST 2014
Hi,
I catch strange behavior, which I can not understand ;-)
I have 2 PC on both I have installed Lazarus 1.2.2 + FPC 2.6.4 (official
release)
1st PC has Windows 98 2nd PC has Windows Vista (32 bit)
I have this program:
=============================
var
c: currency;
e: extended;
begin
c:=-92233720368547;
e:=c;
writeln('CW=', Get8087cw(), ' currency=', c, ' extended=', e, '
string=', currtostr(c));
=============================
When I compile on 1st PC (Win98) and run it on 1st or 2nd PC I get this
result:
CW=4978 currency=-9.223372036854699520E+13
extended=-9.2233720368546995E+0013 string=-92233720368546,9952
When I compile on 2nd PC (Win Vista) and run on 1st or 2nd PC I get
(expected) result:
CW=4978 currency=-9.223372036854700000E+13
extended=-9.2233720368547000E+0013 string=-92233720368547
How is it possible?
Is compiled code somehow affected by platform on which is compilation
performed?
Thanks
-Laco.
More information about the fpc-pascal
mailing list