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

C4C*_*Exe 3 xslt-1.0

我有两个xmls.There字段可以包含像54.2,54.23,54.234,54.234567这样的值.

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

小智 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>
Run Code Online (Sandbox Code Playgroud)

您可以使用像这样的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>
Run Code Online (Sandbox Code Playgroud)

然后输出:

54.20
54.23
54.234
54.234567
Run Code Online (Sandbox Code Playgroud)