我有一个关于数字格式的问题。 在我的源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>
非常感谢, 彼得
答案 0 :(得分:4)
如果总有两位小数,你可以将翻译后的值除以100:
<xsl:value-of select="format-number(number(translate(ValueDelt,'.','')) div 100,'###,###.00')" />
输出:
<ValueDeltAbsol>1,358,688.42</ValueDeltAbsol>