다음을 통해 공유


NaN 값

"Not a Number"의 약자인 NaN이라는 용어는 부동 소수점 형식에서 사용할 수 없는 값을 나타내는 기호화된 엔터티를 의미합니다.

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.