XQuery 中的 XPath

XPath in XQuery

使用以下输出 XSD 输入:

<xs:simpleType name="MoneyType">
  <xs:restriction base="xs:decimal">
       <xs:fractionDigits value="2"/>
   </xs:restriction>
</xs:simpleType>

我使用 fn:sum 命令并得到以下输出:

1.0001865499999999E6

该值应该是

1000186.55

什么会导致这种精度不足

谢谢

这里有两个问题:

(a) 浮点运算(或十进制值到浮点数的转换)导致近似,因为大多数小数不能用二进制精确表示

(b) 默认情况下,"scientific notation" 输出百万分之一到一百万之外的数字,即 2e6 而不是 2000000。

如果你更仔细地解释你在做什么以及你想要达到什么,那么我们可以告诉你如何避免这些问题。