[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xsl-list
Subject:    Re: [xsl] XPath 1.0: sum() and precision
From:       Michael Kay <mike () saxonica ! com>
Date:       2012-09-27 23:16:14
Message-ID: 5064DE3E.2020201 () saxonica ! com
[Download RAW message or body]


On 27/09/2012 23:09, Florent Georges wrote:
> Andrew Welch wrote:
>
>    Hi,
>
>> I guess if you are stuck with xpath 1.0 it would have to be
>> substring... (or split on the ., then round() on the first 3 digits
>> eg the 490)
>    Thanks Andrew.  That's what I thought too, but I wanted to avoid
> string functions for that purpose.  What I've done in the meantime is
> replacing sum(...) by:
>
>      round(sum(...) * 100) div 100
>
> that is, "moving the dot right", rounding as an integer, then "moving
> the dot left" again.
>
>

But can't the "div 100" itself have a rounding error that means you 
don't get an exact answer?

In pure XPath 1.0, without format-number(), I suspect string 
manipulation is the only reliable way.

Michael Kay
Saxonica

--~------------------------------------------------------------------
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@lists.mulberrytech.com>
--~--

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic