숫자를 문자열로 변환합니다. 변환은 첫 번째 인수(number)에 지정된 숫자의 서식을 지정하고 두 번째 인수(string)에 지정된 형식을 사용하고 세 번째 선택적 인수(string)에서 이름이 지정된 10진수 형식에 정의된 규칙을 적용한 결과입니다. 10진수 형식 이름인 세 번째 인수를 생략하면 기본 10진수 형식이 사용됩니다. 이 함수와 <xsl:decimal-format>
요소는 함께 사용해야 합니다.
string format-number(number, string, string?)
주의
첫 번째 인수는 입력 값을 지정합니다. 예를 들어, 숫자 5351을 지정합니다.
두 번째 인수는 형식 패턴을 지정합니다. 예를 들어, 문자열 '###.###,00'을 지정합니다.
세 번째 인수는 선택적 10진수 형식 이름입니다. 이 인수를 사용하면 형식 패턴 문자열에 모든 문자를 사용할 수 있으며 <xsl:decimal-format>
요소에서 이 문자에 역할이 할당됩니다. 일반적인 10진수 형식 이름은 기본값의 쉼표와 마침표의 역할을 바꾸는 데 사용되는 european
입니다.
형식 패턴에서는 ".", ",", "#", "%", "0" 및 유니코드 천분율 문자(#x2030)가 지원됩니다. "#" 문자는 정수를 나타내는 데 사용됩니다. "." 및 "," 문자는 문장 부호의 위치와 형식을 나타내는 데 사용됩니다. "0" 문자는 00.3이나 3.00과 같이 실제 숫자를 나타내는 것이 아니라 자릿수를 나타내기 위해 "." 문자 앞과 뒤에 0을 입력하는 데 사용됩니다. 소수점 오른쪽의 숫자를 자를 경우 숫자가 반올림됩니다. 소수점 왼쪽의 숫자는 절대로 잘리지 않습니다.
입력 값과 형식 패턴 문자열은 반드시 입력해야 하며 생략할 경우 오류가 throw됩니다. number()
함수에 규칙을 사용하여 입력 값을 숫자로 강제 변환할 수 없는 경우 format-number 함수는 NaN을 반환합니다. 형식 패턴 문자열이 유효한 패턴 문자열이 아닌 경우 이 함수는 입력 값을 그대로 반환합니다.
10진수 형식 이름이 있을 경우 이 이름은 <xsl:decimal-format>
요소에 지정된 10진수 형식의 이름을 나타냅니다. 10진수 형식 이름은 정규화된 이름이어야 합니다. 함수에 10진수 형식 이름을 지정할 경우 같은 이름의 스타일시트에 <xsl:decimal-format>
요소가 있어야 합니다.
<xsl:decimal-format>
요소는 기본 숫자 서식 패턴을 재정의할 수 있습니다. <xsl:decimal-format>
요소는 java.text.DecimalFormat
클래스의 서식 지정자 패턴을 따릅니다. <xsl:decimal-format>
과 함께 format-number
함수를 사용하는 예제는 <xsl:decimal-format> 요소를 참조하십시오.
예제
다음 XSLT 줄은 "24.535,20"을 반환합니다.
<xsl:decimal-format name="european" decimal-separator=',' grouping-separator='.' />
<xsl:value-of select="format-number(24535.2, '###.###,00', 'european')"/>
다음 함수 호출은 "5,351"을 반환합니다.
format-number(5351,"#,###")
다음 함수 호출은 "5351.00"을 반환합니다.
format-number(5351, "#.00")
다음 함수 호출은 "53.5100"을 반환합니다.
format-number(53.51, "#.0000")
다음 함수 호출은 "0053.5100"을 반환합니다.
format-number(53.51, "0000.0000")
다음 함수 호출은 "0053.51"을 반환합니다.
format-number(53.51, "0000.####")
다음 함수 호출은 "53.6"을 반환합니다.
format-number(53.56, "0.0")
XSLT 스타일시트를 사용하여 이 함수를 XML 데이터에 적용하는 전체 예제는 <xsl:decimal-format>의 예제를 참조하십시오.