xslt 2.0如何舍入数字? 1.45632 => 1.46

时间:2013-11-28 19:20:04

标签: xslt xslt-2.0

如何在xslt 2.0中对数字进行舍入

所以例如它会像这样工作:

1.4367 => 1.44
1.3218 => 1.32

2 个答案:

答案 0 :(得分:2)

尝试使用圆函数:

<xsl:value-of select="round(NUMBER_TO_ROUND*100) div 100"/>

答案 1 :(得分:1)

您可能正在寻找format-number()功能。

同样在In XSLT 2.0 / XPath 2.0中,可以使用xs:decimal类型工作而不会损失精度。

这样的事情:

<xsl:stylesheet version="2.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                exclude-result-prefixes="xs">
  <xsl:output omit-xml-declaration="yes" indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="/*">
    <MyTable>
      <xsl:value-of select="xs:decimal(MyValue)"/>
    </MyTable>
  </xsl:template>
</xsl:stylesheet>