[fpc-devel] Freepascal 2.2.4rc1 released
Graeme Geldenhuys
graemeg.lists at gmail.com
Wed Jan 28 11:07:52 CET 2009
I think I found a possible issue with 2.2.4.
I can not recall experiencing this issue under 2.2.3 (from mid December 2008).
I have data (tax rates) stored in a Firebird 2.1 database. The field
storing the rate is defined as Numeric(3,3). I use SqlDB (via tiOPF)
to retrieve the data. That specific column is retrieved as follows:
lData.Rate := Query.FieldAsFloat['TAXRATE'];
lData.Rate is declared as a Single type.
When I display the taxrate under Linux using the following method,
everything works as expected.
function DisplayPercentage(const AValue: Single): string;
begin
writeln('AValue = ', AValue);
Result := Format('%.2f', [AValue]);
writeln('Formatted Avalue = ', Result);
writeln('---');
end;
Output under Linux:
===============
AValue = 0.000001192E+00
Formatted Avalue = 0.00
---
AValue = 1.400000012E+01
Formatted Avalue = 14.00
---
When I display it under Windows (2000 or XP) I get a vastly different answer.
Output under Windows 2000 & XP
====================
AValue = 4.249977051E+03
Formatted AValue = 4249.98
----
AValue = 4.249440918E+03
Formatted AValue = 4249.44
----
As you can see the values are very different!! I have no idea why.
I'm using FPC checked out from:
http://svn.freepascal.org/svn/fpc/branches/fixes_2_2
Revision: 12619
Both Linux and Windows systems are using the exact same revision of
FPC. I'll try and put together a small test project and see if I can
pinpoint the exact location of the issue.
Regards,
- Graeme -
_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
More information about the fpc-devel
mailing list