指数表示法为整数表示法XSLT2.0

时间:2016-01-07 13:11:39

标签: xslt xslt-2.0

是否可以使用XSLT 2.0将以下指数表示法更改为整数表示法。

2.0151109001E10 至 20151109001

我试过

$(".classname", "#idname")

但它给了NaN作为答案。

编辑: XSLT:

number(2.0151109001E10)

输出:

<xsl:variable name="a" select="ss:Cell[$key]/ss:Data"/>
<xsl:variable name="b" select="string($a)"/>
<xsl:variable name="c" select="number($b)"/>

以下内容

 <a>2.0151109001E10</a>
 <b>2.0151109001E10</b>
 <c>2.0151109001E10</c>

3 个答案:

答案 0 :(得分:1)

您可以尝试将它们放在单引号''中,如下所示:

number('7.2345E7')

给出

72340000

答案 1 :(得分:1)

输入的真正问题不是指数表示法,而是使用逗号作为小数点。 XML仅将句点识别为十进制标记。

尝试类似:

<xsl:value-of select="xs:decimal(xs:double(translate($a, ',', '.')))"/>

或:

<xsl:value-of select="format-number(translate($a, ',', '.'), '0')"/>

答案 2 :(得分:0)

您可以使用format-number:

format-number(2.0151109001E10, '#')