Subject: Re: [xsl] Rounding errors in financial app transforms From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Thu, 26 Jul 2007 06:45:30 -0700 |
BTW. Actually I asked you about BCD in an off-list message but you didn't say anything about it then.
Rule 1: Split different topics in different messages if you want that they all receive (equal) attention.
As for performing numerical processing with XSLT, FXSL has done it since at least 5 years ago: exponential and logarithmic functions, trigonometric and hyper-trigonometric functions, finding the root of any continuous function on R, numerical differentiation, numerical integration ..., etc...
And nobody has complained about precision -- seems as if Pi with 13 correct digits after the decimal point is OK.
Probably I should think about implementing some symbolic evaluation -- then nobody can raise rounding problems.
-- 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
Hi Michael & Dimitre,
Dimitre: >You seem to be un-aware of xs:decimal.
Correct, and was just considering further after posting, that my original apps were developed with XSLT 1.0 and perhaps I just got into the mode of thinking that the problem still remained without considering the introduction of xs:decimal in 2.0.
BTW. Actually I asked you about BCD in an off-list message but you didn't say anything about it then.
Michael: >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(.))
Great, that has to be another big plus for a schema-aware processor. It opens up new application domains for XSLT.
I know that I'm pushing the application of XSLT probably way beyond the initial design domain(s) for the language, but it really is the next best thing to sliced bread, so that's why I've been attempting to use it real anger.
>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.
Naturally.
Anyway, all, since I've inadvertently overlooked xs:decimal, no doubt others have also and so this has to be another selling point for XSLT (2.0), even if not schema-aware by use of Michael's sum() solution.
Thanks to you both. Time for a re-read of the spec :-)
Justin Johansson
*** A horse with no name is called Lambda ***
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Rounding errors in financ, Justin Johansson | Thread | [xsl] asthetics vs convention for n, James A. Robinson |
Re: [xsl] Rounding errors in financ, David Carlisle | Date | RE: [xsl] Rounding errors in financ, Michael Kay |
Month |