Home > Online Product Documentation > Table of Contents > Specifying Number Operations and Functions
This section includes the following topics:
In queries, a number represents a floating-point number. A number can have any double-precision 64-bit format IEEE 754 value. This includes
The numeric operators convert their operands to numbers as if by calling the
number() function. See
Converting an Object to a Number.
You can use the following arithmetic operators in queries:
+ performs addition
- performs subtraction
XML allows hyphens (
-) in names. Consequently, the subtraction operator (
-) typically needs to be preceded by white space. For example,
foo-bar evaluates to a node set that contains the child elements named
foo-bar. However,
foo
-
bar evaluates to the difference between the result of converting the string value of the first
foo child element to a number and the result of converting the string value of the first
bar child to a number.
* performs multiplication
mod returns the remainder from a truncating division. For example:
div performs floating-point division according to IEEE 754.
This section describes the number functions that you can call in a query. The operations you can perform are
In some situations, you might want to force a numeric comparison. The XPath processor performs a numeric comparison if either operand is numeric and neither is Boolean. (If one operand is Boolean, the XPath processor converts the other to Boolean and performs a Boolean comparison.) However, if neither operand is a numeric or Boolean value, you can call the
number() function on one operand to convert it to a numeric value. The XPath processor automatically converts the other operand to a numeric value.
To perform a numeric comparison, you must call the
number() function to convert a Boolean operand, if there is one, to a numeric value.
The format of the
number() function is
If you omit the argument, the value of the argument defaults to a node set with the context node as its only member.
Table 62 shows how the
number() function converts its argument to a number:
To obtain the sum of the values of the nodes in a set, call the
sum() function. The format is
For each node in the argument node-set, the XPath processor converts the string value of the node to a number. The
sum() function returns the sum of these numbers.
To obtain the largest integer that is not greater than a particular number, call the
floor() function. The format is
The
floor() function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer. For example:
To obtain the smallest integer that is not less than a particular number, call the
ceiling() function. The format is
The
ceiling() function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer. For example:
To obtain the closest integer to a particular number, call the
round() function. The format is
The
round() function returns the number that is closest to the argument and that is an integer. If there are two such numbers, the function returns the one that is closest to positive infinity. For example: