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字符串结合起来
那会是什么样的?
由于
答案 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)