* currency support

* dropped fixed16/32 support
This commit is contained in:
peter 2003-12-08 17:45:00 +00:00
parent dd8f11e8e1
commit bbf9d2f9c6

View File

@ -14,8 +14,11 @@
**********************************************************************}
type
{ See symdefh.inc tfloattyp }
treal_type = (rt_s32real,rt_s64real,rt_s80real,rt_c64bit,rt_f16bit,rt_f32bit);
{ See symconst.pas tfloattype }
treal_type = (
rt_s32real,rt_s64real,rt_s80real,
rt_c64bit,rt_currency,rt_s128real
);
{ corresponding to single double extended fixed comp for i386 }
Procedure str_real (len,f : longint; d : ValReal; real_type :treal_type; var s : string);
@ -168,7 +171,7 @@ const
(stackPtr < maxDigits+1)) then
begin
{ we didn't use all available digits of the whole part -> make sure }
{ the fractional part is not used for rounding later }
{ the fractional part is not used for rounding later }
currprec := -1;
{ instead, round based on the next whole digit }
if (trunc(intPartStack[stackPtr]-corrVal) > 5.0 - roundCorr) then
@ -226,21 +229,23 @@ begin
{ correction used with comparing to avoid rounding/precision errors }
roundCorr := (1/exp((23-6-3)*ln(10)));
end;
rt_f16bit :
rt_currency :
begin
maxlen:=16;
minlen:=8;
explen:=4;
{ Different in TP help, but this way the output is the same (JM) }
maxlen:=25;
minlen:=10;
explen:=0;
{ correction used with comparing to avoid rounding/precision errors }
roundCorr := (1/exp((16-4-3)*ln(10)));
roundCorr := (1/exp((25-6-3)*ln(10)));
end;
rt_f32bit :
rt_s128real :
begin
maxlen:=16;
minlen:=8;
explen:=4;
{ Different in TP help, but this way the output is the same (JM) }
maxlen:=25;
minlen:=10;
explen:=6;
{ correction used with comparing to avoid rounding/precision errors }
roundCorr := (1/exp((16-4-3)*ln(10)));
roundCorr := (1/exp((25-6-3)*ln(10)));
end;
end;
{ check parameters }
@ -448,7 +453,11 @@ end;
{
$Log$
Revision 1.11 2003-10-26 16:56:44 jonas
Revision 1.12 2003-12-08 17:45:00 peter
* currency support
* dropped fixed16/32 support
Revision 1.11 2003/10/26 16:56:44 jonas
* fixed web bug 2643
Revision 1.10 2003/09/06 17:06:59 florian