共用方式為


NaN 值

NaN 這個詞彙表示「非數字」("not a number"),意思是指一個符號實體,代表一個不這麼表示,就無法以浮點數格式使用的值。

有兩種 NaN。

  • Quiet
    代表不明或未初始化的值。
  • Signaling
    代表符號值,以及對格式來說太大或太精確的值。每當嘗試在 Signaling NaN 上執行作業時,它就會造成無效的作業例外狀況。

程式碼範例

下列範例顯示如何比較任何值與 NaN 值。

XML 檔 (NaNValues.xml)

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

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>

輸出

此為輸出:

100 is a number. ABC is a string.