Функция round (XPath)
Возвращает ближайшее к аргументу целое значение.
number round(number)
Заметки
Если таких значений два, возвращается то, которое ближе к положительной бесконечности.
Если аргумент представляет собой NaN, функция возвращает NaN.
Если аргумент - положительная бесконечность, возвращается положительная бесконечность.
Если аргумент - отрицательная бесконечность, возвращается отрицательная бесконечность.
Если аргумент - положительный ноль, возвращается положительный ноль.
Если аргумент - отрицательный ноль, возвращается отрицательный ноль.
Если аргумент меньше нуля, но больше или равен -0,5, возвращается отрицательный ноль.
В последних двух случаях результат вызова функции round() не равен результату добавления 0,5 с последующим вызовом функции floor(), поскольку в таких случаях будет возвращен положительный ноль.
Пример
Этот пример иллюстрирует выражения round().
XML-файл
Ничего. XSLT-файл вызывает сам себя.
XSLT-файл (round.xsl)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="round.xsl"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
round(2.6) =
<xsl:value-of select='round(2.6)'/>
<br/>round (2.4) =
<xsl:value-of select='round (2.4)'/>
<br/>round(2.5) =
<xsl:value-of select='round(2.5)'/>
<br/>round(-1.6) =
<xsl:value-of select='round(-1.6)'/>
<br/>round(-1.5) =
<xsl:value-of select='round(-1.5)'/>
</xsl:template>
</xsl:stylesheet>
Форматированный вывод
round(2.6) = 3 round (2.4) = 2 round(2.5) = 3 round(-1.6) = -2 round(-1.5) = -1
Вывод обработчика
<?xml version="1.0"?>
round(2.6) =
3<br />round (2.4) =
2<br />round(2.5) =
3<br />round(-1.6) =
-2<br />round(-1.5) =
-1