xslt除以E返回数字

时间:2012-11-20 07:33:08

标签: xslt xslt-2.0

在我分割数字的xslt中,比如

<xsl:value-of select="number( $field ) div number( $factor )"/>

结果值可以包含E(10次幂),如8.004091E9

如何让它返回正确的值=&gt; 8004091000没有E s?

1 个答案:

答案 0 :(得分:2)

在XSLT 1.0中,输出绝不应该是科学记数法,所以我假设你使用的是XSLT 2.0。

在XSLT 2.0中,输出应采用科学计数法,如果(a)它是浮点数或双精度数,(b)其绝对值超出1e-6到1e + 6的范围。

避免以科学记数法输出的一种方法是使用format-number()格式化它。

另一种方法是避免浮点:例如,代替

<xsl:value-of select="number( $field ) div number( $factor )"/>

使用

<xsl:value-of select="xs:decimal( $field ) div xs:decimal( $factor )"/>