XQuery中的XPath:分数位

时间:2015-01-21 21:21:08

标签: xml xpath xquery

XQuery中的XPath:分数位

我的输出XSD如下所示:

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

从这里我使用了一个陈述

fn:sum($Accounts/in:IndividualAcct[in:AcctType = 'AttcRec']/in:balance * in:amount)

但是我对一个字段定义的总和 上面的定义显示为:

36745.770000000004

我要找的只是2个小数位

所以我想知道,我可以使用像format-string或fn:string

这样的东西

如果是这样,我可以将它与我之前列出的fn:sum字符串结合起来

那会是什么样的?

由于

1 个答案:

答案 0 :(得分:3)

您没有指定是否支持XQuery 3.0。如果是这样,fn:format-number($number, $picture)就是你要找的东西:

format-number(36745.770000000004, '.00')

结果:36745.77

正如@MichaelKay在评论中提出的那样,在XQuery 1.0中也可以使用的替代方法是使用round-half-to-even($number, $precision)将精度限制为两位小数。如有必要,该号码将自动转换为字符串:

round-half-to-even(36745.770000000004, 2)