Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1243 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XSL] precision des nombres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XSL] precision des nombres

n°1234744
sbucci2
Posté le 31-10-2005 à 09:37:05  profilanswer
 

Bonjour,
 
J'utilise comme parseur XSL : XALAN-J.
 
Je dois transformer des chiffres tel que  : 4.1612E-8 en 0.000000041612,
pour cela j'utilise cette fonction :
 

Code :
  1. <xsl:template name="Scientific">
  2. <xsl:param name="Num"/>
  3. <xsl:if test="boolean(number(substring-after($Num,'E')))">
  4.  <xsl:variable name="multi2" select="1"/>
  5.  <xsl:call-template name="Scientific_Helper">
  6.   <xsl:with-param name="m" select="substring-before($Num,'E')"/>
  7.   <xsl:with-param name="e" select="substring-after($Num,'E')"/>
  8.   <xsl:with-param name="multi" select="$multi2"/>
  9.  </xsl:call-template>
  10. </xsl:if>
  11. <xsl:if test="not(boolean(number(substring-after($Num,'E'))))">
  12.  <xsl:value-of select="round($Num)"/>
  13. </xsl:if>
  14. </xsl:template>
  15. <!-- Converti une notation scienfique en notation standard -->
  16. <xsl:template name="Scientific_Helper">
  17. <xsl:param name="m"/>
  18. <xsl:param name="e"/>
  19. <xsl:param name="multi"/>
  20. <xsl:choose>
  21. <xsl:when test="$e = 0 or not(boolean($e))">
  22.  <xsl:value-of select="$m * $multi"/>
  23. </xsl:when>
  24. <xsl:when test="$e &gt; 0">
  25.  <xsl:call-template name="Scientific_Helper">
  26.   <xsl:with-param name="m" select="$m"/>
  27.   <xsl:with-param name="e" select="$e - 1"/>
  28.   <xsl:with-param name="multi" select="$multi * 10"/>
  29.  </xsl:call-template>
  30. </xsl:when>
  31. <xsl:when test="$e &lt; 0">
  32.  <xsl:call-template name="Scientific_Helper">
  33.   <xsl:with-param name="m" select="$m"/>
  34.   <xsl:with-param name="e" select="$e + 1"/>
  35.   <xsl:with-param name="multi" select="$multi div 10"/>
  36.  </xsl:call-template>
  37. </xsl:when>
  38. </xsl:choose>
  39. </xsl:template>


 
Mais à cause d'un manque de precision j'obtiens cela : 0.00000004161200000000001
Tout ce qui est gras est faut !
Comment puis je faire pour augmenter la precision  ?
 
Merci

mood
Publicité
Posté le 31-10-2005 à 09:37:05  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XSL] precision des nombres

 

Sujets relatifs
Recherche du maximum d une liste de nombres[resolu]Valeur aléatoire comprise entre 2 nombres?..
centrer un tableau avec XSL FOXML XSL Javascript
XSL ET JavascriptJavascript dans XSL
architecture MVC et XML./XSLProblème XML/XSL sous firefox
[XSL] requete xpathTemplate XSL
Plus de sujets relatifs à : [XSL] precision des nombres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR