Partager via


Valeurs NaN (XSLT)

Le terme NaN, qui signifie « not a number », désigne une entité symbolique représentant une valeur non disponible autrement dans le format à virgule flottante.

Il y a deux sortes de valeurs NaN.

  • Quiet
    Représente des valeurs inconnues ou non initialisées.

  • Signaling
    Représente des valeurs symboliques et des valeurs trop grandes ou trop précises pour le format. Les valeurs NaN de signalisation produisent une exception pour opération non valide lorsqu'une opération leur est appliquée.

Exemple de code

L'exemple suivant montre comment comparer toute valeur à une valeur NaN.

ms256038.collapse_all(fr-fr,VS.120).gifFichier XML (NaNValues.xml)

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="NaNValues.xsl" ?>
<items>
   <item>100</item>
   <item>ABC</item>
</items>

ms256038.collapse_all(fr-fr,VS.120).gifFichier XSLT (NaNValues.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:template match="items">
 <xsl:for-each select="item">
  <xsl:call-template name="IsNaN"/>
 </xsl:for-each>
</xsl:template>

<xsl:template name="IsNaN">
 <!-- Parameter defined here -->
 <xsl:param name="var" select="."/>
 <xsl:value-of select="$var"/>
 <xsl:if test="string(number($var)) = 'NaN'"> is a string. </xsl:if>
 <xsl:if test="string(number($var)) != 'NaN'"> is a number. </xsl:if>
</xsl:template>
</xsl:stylesheet>

ms256038.collapse_all(fr-fr,VS.120).gifSortie

Il s'agit de la sortie :

100 is a number. ABC is a string.