Rounding error while saving a recordset as XML
- From: "Arun" <arunaugust@xxxxxxxxx>
- Date: Fri, 22 Jun 2007 15:07:54 +0530
Hi All,
I am facing one rounding error while saving a recordset as XML. Is there a way to get rid of this error without altering the datatype of QTY field to string/variant.
Below given is the code snippet.
var
rsData: ADODB_TLB._Recordset;
begin
rsData := CoRecordSet.Create();
rsData.Fields.Append('ITEM_CODE', adVarChar, 15, adFldMayBeNull, EmptyParam);
rsData.Fields.Append('QTY', adDouble, 18, adFldMayBeNull, EmptyParam);
rsData.CursorLocation := adUseClient;
rsData.Open (EmptyParam, EmptyParam, adopenStatic, adLockBatchOptimistic, adCmdUnknown);
rsData.AddNew(EmptyParam, EmptyParam);
rsData.Fields.Item['ITEM_CODE'].Value := 'ITEM01';
rsData.Fields.Item['QTY'].Value := 3.01;
rsData.Update(EmptyParam, EmptyParam);
rsData.Save('C:\Temp\RoundErr.xml', adPersistXML);
end;
The resultant RoundErr.xml file is given below. Though the actual value in recordset for quantity field is 3.01, in the resultant XML it comes
up as 3.0099999999999998
- <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
- <s:Schema id="RowsetSchema">
- <s:ElementType name="row" content="eltOnly" rs:updatable="true">
- <s:AttributeType name="ITEM_CODE" rs:number="1" rs:write="true">
<s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="15" rs:precision="0" />
</s:AttributeType>
- <s:AttributeType name="QTY" rs:number="2" rs:write="true">
<s:datatype dt:type="float" dt:maxLength="8" rs:precision="0" rs:fixedlength="true" />
</s:AttributeType>
<s:extends type="rs:rowbase" />
</s:ElementType>
</s:Schema>
- <rs:data>
- <rs:insert>
<z:row ITEM_CODE="ITEM01" QTY="3.0099999999999998" />
</rs:insert>
</rs:data>
</xml>
- Follow-Ups:
- Re: Rounding error while saving a recordset as XML
- From: Stephen Howe
- Re: Rounding error while saving a recordset as XML
- Prev by Date: Re: appendChunk method resulting in incorrect data
- Next by Date: Re: Rounding error while saving a recordset as XML
- Previous by thread: appendChunk method resulting in incorrect data
- Next by thread: Re: Rounding error while saving a recordset as XML
- Index(es):
Relevant Pages
|
Loading