# Re: Rounding errors in financial app transforms

 Subject: Re: Rounding errors in financial app transforms From: "Dimitre Novatchev" Date: Thu, 26 Jul 2007 14:20:15 -0700
```So if you try to round \$100.105 to 2 decimal places you will get \$100.11
whereas any financial system will (probably) expect \$100.10.```

```If this IS the case you are going to have to force values at the tipping
point to go down not up.```

```Isn't this exactly what
round-half-to-even(\$arg as numeric?, \$precision as xs:integer)
as numeric?
is supposed to do?```

http://www.w3.org/TR/xpath-functions/#func-round-half-to-even

```--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play```

On 7/26/07, W Charlton <XSLList@xxxxxxxxxx> wrote:
Justin,

```It may be relevant to be aware that rounding in financial transactions is
not a simple mathematical problem, there is rounding and there is rounding.```

```Financial systems (at least all the ones we have dealt with) use have a
specific way or rounding money known as "bankers rounding" or "half even
rounding".```

```The problem value is the n.5. Most mathematics based system (and most
humans) including both versions of XSLT round to n+1.```

```Bankers however round to n-1. That way I presume they get to make more
money!!```

```So if you try to round \$100.105 to 2 decimal places you will get \$100.11
whereas any financial system will (probably) expect \$100.10.```

```If this IS the case you are going to have to force values at the tipping
point to go down not up.```

Does that shed some light on your problem?

```William Charlton
The yMonda team
yMonda Limited
w: www.ymonda.net
```

### PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!