在XSL中是否有类似于格式编号的内容可以采用数字并将其格式化为'#0.00'而不是围绕它?
所以,
格式化数字不起作用,因为它会在1.375到1.38之间
<xsl:value-of select="format-number(MY_NUMBER, '#0.00')" />
这个连接子字符串混乱不会工作5(因为没有&#34;。&#34;)并且不会在14.6结束时添加零
<xsl:value-of select="concat(substring-before(MY_NUMBER,'.'), '.', substring(substring-after(MY_NUMBER,'.'),1,2))" />
我将不得不做一个混乱的事情:
<xsl:choose>
<xsl:when test=""></xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
提前非常感谢!
答案 0 :(得分:8)
<xsl:value-of select="<xsl:value-of
格式不正确,因此无法通过XML解析器。
我假设你只限于XSLT 1,所以就像这样
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
-
<xsl:call-template name="f">
<xsl:with-param name="n" select="5"/>
</xsl:call-template>
-
<xsl:call-template name="f">
<xsl:with-param name="n" select="14.6"/>
</xsl:call-template>
-
<xsl:call-template name="f">
<xsl:with-param name="n" select="1.375"/>
</xsl:call-template>
-
</xsl:template>
<xsl:template name="f">
<xsl:param name="n"/>
<xsl:value-of select="format-number(floor($n*100) div 100, '#0.00')"/>
</xsl:template>
</xsl:stylesheet>
产生
-
5.00
-
14.60
-
1.37
-