是否可以使用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>
答案 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, '#')