在 xslt 中,当我除数时,比如
<xsl:value-of select="number( $field ) div number( $factor )"/>
结果值可以包含 E(10 次方),例如8.004091E9
如何使它返回正确的值 =>8004091000
没有E
s ?
在 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 )"/>