## Name

xsd:float — IEEE 32-bit floating-point

## Synopsis

<xsd:simpleType name="float" id="float">
<xsd:restriction base="xsd:anySimpleType">
<xsd:whiteSpace value="collapse" fixed="true"/>
</xsd:restriction>
</xsd:simpleType> |

## Derived from

`xsd:anySimpleType`

## Data parameters (facets)

`enumeration`, `maxExclusive`,
`maxInclusive`, `minExclusive`,
`minInclusive`, `pattern`

## Description

The value space of `xsd:float` is
"float," 32-bit floating-point
numbers as defined by the IEEE. The lexical space uses a decimal
format with optional scientific notation. The match between lexical
(powers of 10) and value (powers of 2) spaces is approximate and maps
to the closest value.

This datatype differentiates positive (0) and negative (-0) zeros,
and includes the special values -INF (negative infinity), INF
(positive infinity), and NaN (Not a Number).

Note that the lexical spaces of `xsd:float` and
`xsd:double` are exactly the same; the only
difference is the precision used to convert the values in the value
space.

## Restrictions

The decimal separator is always a point (.), and no thousands
separator may be added.

## Example

Valid values include: `123.456`,
`+1234.456`, `-1.2344e56`,
`-.45E-6`, `INF`,
`-INF`, and `NaN`.

The following values are invalid: `1234.4E 56`
(spaces are forbidden), `1E+2.5` (the power of 10
must be an integer), `+INF` (positive infinity
doesn't expect a sign), or `NAN`
(capitalization matters in special values).