ceilng(), floor() and round() transform floating point numbers into integers : round « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
    <number>6</number>
    <number>3.8</number>
    <number>1.234</number>
    <number>-6</number>
    <number>-3.8</number>
    <number>-1.234</number>
</data>
File: Transform.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
      version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
      <TABLE border="1">
        <TR>
          <td>number</TH>
          <td>floor</TH>
          <td>ceiling</TH>
          <td>round</TH>
        </TR>
        <xsl:for-each select="//number">
          <TR>
            <TD>
              <xsl:value-of select="."/>
            </TD>
            <TD>
              <xsl:value-of select="floor(.)"/>
            </TD>
            <TD>
              <xsl:value-of select="ceiling(.)"/>
            </TD>
            <TD>
              <xsl:value-of select="round(.)"/>
            </TD>
          </TR>
        </xsl:for-each>
      </TABLE>
    </xsl:template>
</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><TABLE border="1"><TR><td>number</TH><td>floor</TH><td>ceiling</TH><td>round</TH></TR><TR><TD>6</TD><TD>6</TD><TD>6</TD><TD>6</TD></TR><TR><TD>3.8</TD><TD>3</TD><TD>4</TD><TD>4</TD></TR><TR><TD>1.234</TD><TD>1</TD><TD>2</TD><TD>1</TD></TR><TR><TD>-6</TD><TD>-6</TD><TD>-6</TD><TD>-6</TD></TR><TR><TD>-3.8</TD><TD>-4</TD><TD>-3</TD><TD>-4</TD></TR><TR><TD>-1.234</TD><TD>-2</TD><TD>-1</TD><TD>-1</TD></TR></TABLE>








5.12.round
5.12.1.ceilng(), floor() and round() transform floating point numbers into integers
5.12.2.round()- Takes a number as its argument and returns the integer that is closest to the number argument.