1

在 xslt 中,当我除数时,比如

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

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

如何使它返回正确的值 =>8004091000没有Es ?

4

1 回答 1

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 )"/>
于 2012-11-20T10:00:40.353 回答