在我分割数字的xslt中,比如
<xsl:value-of select="number( $field ) div number( $factor )"/>
结果值可以包含E(10次幂),如8.004091E9
如何让它返回正确的值=&gt; 8004091000
没有E
s?
答案 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 )"/>