【问题标题】:XSLT 1.0: number format issueXSLT 1.0:数字格式问题
【发布时间】:2013-12-05 16:15:13
【问题描述】:

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

<ValueDeltAbsol>1.358.68842</ValueDeltAbsol>

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

我已经尝试了以下

<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。

将最后 2 位数字设为小数是行不通的。请有人告诉我是否有可能做我试图实现的目标?

输入:&lt;ValueDeltAbsol&gt;1.358.68842&lt;/ValueDeltAbsol&gt; 预期输出:&lt;ValueDeltAbsol&gt;1,358,688.42&lt;/ValueDeltAbsol&gt;

【问题讨论】:

    标签: xml xslt number-formatting


    【解决方案1】:

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

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

    输出:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多