XSLT sum函数似乎在结果中失去了十进制精度

时间:2019-02-05 16:40:29

标签: xslt sum

在执行XSLT sum()函数时遇到一个特殊的问题。

我的xml文件中有很多发票行,每一行都包含一个金额。我必须将所有这些金额加起来。

以下代码可以正常工作,但是我不了解结果。

sum(current-group()/cbc:LineExtensionAmount)

似乎sum()函数在计算较大的总数时会出现错误,因为我得到的结果的精度约为10位小数,但是我绝对确定我没有包含10位小数的值精度。

例如,我应该看到类似140.586,86的内容,但我却得到了140.586,8599999999

为什么会这样?我在网上寻找这个问题,发现其他人也有同样的问题。主要解决方案似乎是round()函数。由于法律限制,我无法应用round()

该如何解决?请注意,我正在使用XSLT 2.0。

0 个答案:

没有答案
相关问题