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>
--~--