web-dev-qa-db-ja.com

XSLT 1.0で文字列を整数に変換する

Xsltの文字列値を整数値に変換したい。私はxslt 1.0を使用しているため、xslt 2.0でサポートされているこれらの関数は使用できません。助けてください。

35
Kapil

Jelovirtの答えに加えて、number()を使用して値を数値に変換してから、round()、floor()、またはceiling()を使用して整数を取得できます。

<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 -->
60
jeffreypriebe

XSLT 1.0には整数データ型はなく、doubleのみがあります。 number() を使用して、文字列を数値に変換できます。

32
jelovirt