For arguments of type xs:float and xs:double, if the argument is NaN, positive or negative zero, or positive or negative infinity, then the result is the same as the argument.
For arguments of type xs:float and xs:double, if the argument is NaN, positive or negative zero, or positive or negative infinity, then the result is the same as the argument.
In all other cases, the argument is cast to xs:decimal, the function is applied to this xs:decimal value, and the resulting xs:decimal is cast back to xs:float or xs:double as appropriate to form the function result.
If the resulting xs:decimal value is zero, then positive or negative zero is returned according to the sign of the original argument.
NOTE: Java does not appear to make a distinction between pos or neg zero.
default behavior is inherited and it displays a RecipeOp assuming there are no children to display.
The value returned is the nearest (that is, numerically closest) value to $arg that is a multiple of ten to the power of minus $precision.
If two such values are equally near (e.g. if the fractional part in $arg is exactly .500...), the function returns the one whose least significant digit is even.
This particular function expects a single argument which is a Numeric. $precision is assumed 0.