[xsl] Rounding errors in financial app transforms

Subject: [xsl] Rounding errors in financial app transforms
From: Justin Johansson <procode@xxxxxxxxxx>
Date: Thu, 26 Jul 2007 22:14:57 +0900
What's the recommended recipe to avoid rounding-error discrepancies
in financial applications based upon XSLT (2.0) transforms?

Having demonstrated a proof-of-concept for an application based on XSLT 2.0
to a commercial finance/accounting industry client (to replace a legacy system
which happens to be written in CBASIC-86), a stumbling block / annoyance is
the
accumulation of one cent errors in the aggregated results.

This, of course, is as a result of using floating-point arithmetic in XSLT.

BCD arithmetic is apparently still used in mainframe applications, as was in
CBASIC-86, but most latter-day languages including XSLT seem to have
ignored it.

Does this means that one needs to resort to doing non-trivial financial
apps in XSLT
in integer arithmetic?

My guess is that even having a standard MulDiv function in XSLT would help
matters floating-point-wise but sadly there is no such animal available.

Thanks to all for suggestions.

Justin Johansson

*** A horse with no name is called Lambda ***

Current Thread