xsl-list
[Top] [All Lists]

RE: [xsl] Rounding errors in financial app transforms

2007-07-26 05:56:30
What's the recommended recipe to avoid rounding-error 
discrepancies in financial applications based upon XSLT (2.0) 
transforms?

Use xs:decimal arithmetic.

If you use a schema-aware transformation, with a schema that defines the
relevant input fields as xs:decimal, then this will tend to happen
automatically. If you use a non-schema-aware transformation, or if the input
contains data that isn't validated or isn't validated as xs:decimal, then
you can achieve the same effect "by hand", for example by writing
sum(product/sales-value/xs:decimal(.))

Be aware that there can be a performance hit in using xs:decimal compared to
xs:double, it shouldn't be done unless you actually need it.

Michael Kay
http://www.saxonica.com/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--