Convertir une chaîne en entier dans XSLT 1.0

Je veux convertir une valeur de chaîne dans xslt en une valeur entière. J'utilise xslt 1.0, donc je ne peux pas utiliser ces fonctions prises en charge dans xslt 2.0. S'il vous plaît aider.

31
demandé sur ikellenberger 2009-08-12 16:32:53

2 réponses

En ajoutant à la réponse de jelovirt, vous pouvez utiliser number() pour convertir la valeur en nombre, puis round (), floor() ou ceiling () pour obtenir un entier entier.

Exemple

<xsl:variable name="MyValAsText" select="'5.14'"/>
<xsl:value-of select="number($MyValAsText) * 2"/> <!-- This outputs 10.28 -->
<xsl:value-of select="floor($MyValAsText)"/> <!-- outputs 5 -->
<xsl:value-of select="ceiling($MyValAsText)"/> <!-- outputs 6 -->
<xsl:value-of select="round($MyValAsText)"/> <!-- outputs 5 -->
54
répondu jeffreypriebe 2011-01-26 23:33:51

XSLT 1.0 n'a pas de type de données entier, seulement double. Vous pouvez utiliser number() pour convertir une chaîne en nombre.

31
répondu jelovirt 2009-08-13 06:01:34