XSLT 1.0金额字段必须至少有2个小数

时间:2012-03-06 05:38:08

标签: xslt-1.0

我有两个xmls。有一个数量字段,可以包含像54.2,54.23,54.234,54.234567这样的值。

有人请告诉我如何确保输出xml中至少会出现两位小数。目前54.2会转换为54,2,但我希望它为54,20

1 个答案:

答案 0 :(得分:9)

您可以使用format-number()函数将数字转换为给定格式的字符串。 如果您使用此“#.00 ##########”格式字符串,则至少会出现两位小数。

如果您的xml文件可以包含54.2,54.23,54.234,54.234567之类的值:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
        <price>54.2</price>
        <price>54.23</price>
        <price>54.234</price>
        <price>54.234567</price>
</catalog>

您可以使用xslt转换数字,以获得至少两位小数

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
      <xsl:for-each select="/catalog/price">
             <xsl:value-of select='format-number(., "#.00##########")'/><br />
      </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

然后输出:

54.20
54.23
54.234
54.234567