我对 XSL 数字格式化功能有一个奇怪的问题。如果我没有两个元素,该函数将返回 NaN。
我正在使用 XSLT 1.0 版和 libxslt XSLT 处理器。
范例
这将不会返回数字
<Weight><xsl:value-of select='format-number(weight, "#.00")'/></Weight>
但是,如果我这样做
<Weight><xsl:value-of select='format-number(weight, "#.00")'/></Weight>
<Weight><xsl:value-of select="weight"/></Weight>
我得到返回的值。
什么可能导致这种行为?
提前致谢!
编辑
我发现我可以在 XSLT 中进行 PHP 函数调用,所以我使用 PHP number_format 函数来获得所需的结果。
<xsl:value-of select="php:functionString('number_format', weight, 2, '.', '')"/>
它解决了我的问题,但没有回答我关于为什么 XSLT 格式数字函数返回 NaN 值的问题。