XSLT 1.0:数字格式问题

时间:2013-11-21 09:19:52

标签: xml xslt number-formatting

我有一个关于数字格式的问题。 在我的源XML中,我有:

<ValueDeltAbsol>1.358.68842</ValueDeltAbsol>

现在这实际上是1.358.688,42。所以我的问题是小数点完全丢失了。所以我的想法是我删除了。首先使用“translate()”,然后最后两位数字自动为小数。

我试过以下

<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'#.00')" />
<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'#.##')" />
<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'###,###.##')" />

分别给我135868842.00和135868842以及135,868,842。

将最后两位数字作为小数只是不起作用。有人可以告诉我是否可以做我想做的事情?

输入:<ValueDeltAbsol>1.358.68842</ValueDeltAbsol> 预期产出:<ValueDeltAbsol>1,358,688.42</ValueDeltAbsol>

非常感谢, 彼得

1 个答案:

答案 0 :(得分:4)

如果总有两位小数,你可以将翻译后的值除以100:

<xsl:value-of select="format-number(number(translate(ValueDelt,'.','')) div 100,'###,###.00')" />

输出:

<ValueDeltAbsol>1,358,688.42</ValueDeltAbsol>