格式化xsl中的数字字符串表示形式

时间:2016-09-16 11:09:46

标签: xslt numbers format

给出一组'数字'0242,0980,0526,1732 ......

如何将它们转换为24,298,0 52,6 173,2?

我正在尝试 xsl:value-of select =“format_number(0242,'#,##'),但这会产生2,42。使用'## ,#'输出为2,4,2

干杯。

2 个答案:

答案 0 :(得分:1)

首先,定义自定义小数格式并将其放在样式表的顶层:

<xsl:decimal-format decimal-separator="," grouping-separator="."/>

然后你可以使用:

<xsl:value-of select="format-number(0242 div 10, '#,0')"/> 

获取24,2等等。

或者,您可以使用:

<xsl:value-of select="translate(format-number(0242 div 10, '#.0'), '.', ',')"/>

答案 1 :(得分:0)

您可以将其除以10以获得正确的数字,然后对其进行格式化。

<xsl:value-of select="format-number(node() div 10, '#.0')" />

请注意,我使用点而不是逗号来使用小数点运算符(对于运算符,请参阅definition on w3schools)。