##

2.4.6 Floating point literals

Floating point literals are described by the following lexical
definitions:

floatnumber: pointfloat | exponentfloat
pointfloat: [intpart] fraction | intpart "."
exponentfloat: (nonzerodigit digit* | pointfloat) exponent
intpart: nonzerodigit digit* | "0"
fraction: "." digit+
exponent: ("e"|"E") ["+"|"-"] digit+

Note that the integer part of a floating point number cannot look like
an octal integer, though the exponent may look like an octal literal
but will always be interpreted using radix 10. For example,
"`1e010`" is legal, while "`07.1`" is a syntax error.
The allowed range of floating point literals is
implementation-dependent.
Some examples of floating point literals:

3.14 10. .001 1e100 3.14e-10

Note that numeric literals do not include a sign; a phrase like
`-1`

is actually an expression composed of the operator
`-`

and the literal `1`

.

See *About this document...* for information on suggesting changes.