xs:integer
The type xs:integer represents an arbitrarily large integer. It is derived from xs:decimal, and it is the base type for many other integer types.
The lexical representation of the xs:integer type is a sequence of digits. A sign (+ or -) may precede the numbers. Decimal points are not permitted in xs:integer values, even if there are no significant digits after the decimal point. Table B-17 lists some values of the xs:integer type.
Table B-17. Values of the xs:integer type
|
Values |
Explanation |
|---|---|
|
Valid | |
231 | |
00231 |
Leading zeros are permitted |
0 | |
+4 |
A sign is permitted |
−4 | |
|
Invalid | |
4.0 |
A decimal point is not permitted |
|
An empty value or zero-length string is not permitted |
Implementations vary in the number of significant digits they support. If overflow or underflow occurs during arithmetic operations on xs:integer values, the implementation may either raise an error or return a result that is the remainder after dividing by the largest possible integer value.
Casting xs:integer Values
Values of type xs:integer can be cast to and from any of the other numeric types. Casting among numeric types is straightforward if the value is in the value space of both types. For example, casting an xs:float value 12 to xs:integer in results in a value 12 whose type is xs:integer. When casting a number with a fractional part to xs:integer, the fractional part is truncated (not rounded).
However, some xs:float or xs:double values cannot be cast to xs:integer. An error is raised if ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access