【问题标题】:XSL rounding issueXSL 舍入问题
【发布时间】:2013-03-05 17:37:07
【问题描述】:

我有一个 XSL 样式表,我正在使用 format-number(xpath,"#,##0") 对值进行四舍五入。在我的本地计算机上,值 1006.5 舍入为 1007。但是,服务器上的相同样式表将 1006.5 舍入为 1006。

知道为什么吗?

【问题讨论】:

    标签: xslt xsl-fo


    【解决方案1】:

    在 XSLT 1.0 中,未指定 format-number() 的舍入规则。 (实际上它们是通过参考 JDK 1.1 规范来定义的,现在很难找到,但我记得很清楚,它的规范非常低。

    因此,不同的 XSLT 1.0 处理器可能表现不同。

    XSLT 2.0 定义了舍入规则(虽然我忘记了它们到底是什么)。

    【讨论】:

      【解决方案2】:

      我认为这可能是由于不同的 XSLT 1.0 处理器使用不同的舍入方法(半向上与四舍五入/银行家四舍五入)。这也可能是由于浮点数在不同机器上的表示方式不同。

      我对@9​​87654321@ 的回答可能会提供更多详细信息,并让您开始寻找解决方案(解决方案是四舍五入到小数点后两位,但也许您可以看到如何更普遍地应用它)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-12
        • 2011-08-23
        • 2011-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多