You can limit the number of digits to the right or left of the decimal point of a number.
xsd:precision facet must be a positive number (1, 2, 3, or higher).
xsd:precision may not be equal to zero.
xsd:precision may not be less than the xsd:scale value.
xsd:scale facet must be a non-negative integer (0, 1, 2, or higher).
Both the xsd:precision and xsd:scale facets specify the maximum values allowed.
The number is still considered valid if fewer digits are present.
You may set a xsd:precision and xsd:scale for any numerical type, but not for any string, date, or other types.
File: Schema.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.java2s.com" xmlns="http://www.java2s.com"
elementFormDefault="qualified">
<xsd:element name="numbers">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:precision value="5" />
<xsd:scale value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:schema>
File: Data.xml
<?xml version="1.0"?>
<numbers xmlns="http://www.java2s.com">34.5</numbers>
3.77.precision |
| 3.77.1. | To specify the number of digits in a number |