Parser : map xsd:decimal to Currency.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3052 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2014-05-17 14:58:42 +00:00
parent 69b84feae4
commit aa29744538
2 changed files with 10 additions and 3 deletions

View File

@ -143,13 +143,19 @@ function wst_FormatFloat(
var
s, frmt : string;
prcsn : Integer;
decimal : Boolean;
{$IFNDEF HAS_FORMAT_SETTINGS}
i : PtrInt;
{$ENDIF HAS_FORMAT_SETTINGS}
begin
decimal := False;
case GetTypeData(ATypeInfo)^.FloatType Of
ftCurr :
begin
decimal := True;
frmt := '##############0.####';//15.4
end;
ftSingle,
ftCurr,
ftComp : prcsn := 7;
ftDouble,
ftExtended :
@ -163,7 +169,8 @@ begin
else
prcsn := 7;
end;
frmt := '#.' + StringOfChar('#',prcsn) + 'E-0';
if not decimal then
frmt := '#.' + StringOfChar('#',prcsn) + 'E-0';
{$IFDEF HAS_FORMAT_SETTINGS}
s := FormatFloat(frmt,AData,wst_FormatSettings);
{$ELSE}

View File

@ -277,7 +277,7 @@ const
('Qword', 'TComplexInt64UContentRemotable', 'unsignedLong'),
('Single', 'TComplexFloatSingleContentRemotable', 'float'),
('Double', 'TComplexFloatDoubleContentRemotable', 'double'),
('Extended', 'TComplexFloatExtendedContentRemotable', 'decimal')
('Extended', 'TComplexFloatExtendedContentRemotable', 'double')
);
BOXED_TYPES_COUNT = 2;
BOXED_TYPES : Array[0..Pred(BOXED_TYPES_COUNT)] Of array[0..2] of string = (