![]() |
|
|
|||||||
![]() |
XML - XSLT error with number and format-number functions |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
I have found an odd error when using an XSL stylesheet transform. We
have a Notes/Domino application with the following line of code in one of the stylesheets: <xsl:value-of select="format-number(number(ActEmpMoneyValue),'###,###0.00')" /> After transforming an XML document object with this stylesheet, the value in the XML node ActEmpMoneyValue is not calculated, but a flat value such as "19.31". After being processed as above on our local system/codebase, it becomes "19.31", as expected. However, the exact same code on certain customer systems takes "19.31" and turns it into "19.3000000000000000009" As far as I can tell, the only reasonable explanation for this issue is that the functions are returning an incorrect value. When I changed it to just use the "number" function, I got the same result - same with just the "format-number" function. When I used neither, the result was correct. Has anyone seen similar behavior? If so, how did they get around it? Thanks! silellak@gmail.com |
|
|
|
|
#2 |
|
Posts: n/a
|
wrote:
> However, the exact > same code on certain customer systems .... which are obviously running a different release of something. (Notes? Java? The XSLT engine, whichever it is? Other?) If you've got outdated code the first thing to try is upgrading; it may be a legitimate bug that's already been fixed. This smells like either a floating-point-math roundoff problem, or a flat-out bug in the XSLT implementation's math/rendering routines. -- () ASCII Ribbon Campaign | Joe Kesselman /\ Stamp out HTML e-mail! | System architexture and kinetic poetry |
|