J'ai ces données XML et essaye d'en faire une somme en utilisant l'extrait XSLT ci-dessous.Problème de diff de somme/bogue dans XSLT 1.0
Xml
<?xml version="1.0" encoding="utf-8"?>
<values>
<value>159.14</value>
<value>-2572.50</value>
<value>-2572.50</value>
<value>2572.50</value>
<value>2572.50</value>
<value>-159.14</value>
</values>
Xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="sum(values/value)"/>
</xsl:template>
</xsl:stylesheet>
Dans mon monde la valeur devrait alors être mais il finit par être -0,0000000000005684341886080801
Exécutez-le dans Visual Studio et voyez par vous-même. Pourquoi? Est-ce que cela arrive?
Juste pour ajouter un peu complétude à la solution donnée ci-dessous et répondez à votre question de "Pourquoi?" Jetez un coup d'œil à "Ce que chaque informaticien devrait savoir à propos de l'arithmétique en virgule flottante" http://docs.sun.com/source/806-3568/ncg_goldberg.html – LorenVS