ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| ANSI Common Lisp 2 Syntax 2.3 Interpretation of Tokens 2.3.2 Constructing Numbers from Tokens ### 2.3.2.2 Syntax of a Float Floats can be written in either decimal fraction or computerized scientific notation: an optional sign, then a non-empty sequence of digits with an embedded decimal point, then an optional decimal exponent specification. If there is no exponent specifier, then the decimal point is required, and there must be digits after it. The exponent specifier consists of an exponent marker, an optional sign, and a non-empty sequence of digits. If no exponent specifier is present, or if the exponent marker `e` (or `E`) is used, then the format specified by *read-default-float-format* is used. See Figure 2.3.1 Numbers as Tokens. An implementation may provide one or more kinds of float that collectively make up the type float. The letters `s`, `f`, `d`, and `l` (or their respective uppercase equivalents) explicitly specify the use of the types short-float, single-float, double-float, and long-float, respectively. The internal format used for an external representation depends only on the exponent marker, and not on the number of decimal digits in the external representation. The next figure contains examples of notations for floats:
Examples of Floating-point numbers
`0.0` | ;Floating-point zero in default format
`0E0` | ;As input, this is also floating-point zero in default format.
| ;As output, this would appear as `0.0`.
`0e0` | ;As input, this is also floating-point zero in default format.
| ;As output, this would appear as `0.0`.
`-.0` | ;As input, this might be a zero or a minus zero,
| ; depending on whether the implementation supports
| ; a distinct minus zero.
| ;As output, `0.0` is zero and `-0.0` is minus zero.
`0.` | ;On input, the integer zero - not a floating-point number!
| ;Whether this appears as `0` or `0.` on output depends
| ;on the value of *print-radix*.
`0.0s0` | ;A floating-point zero in short format
`0s0` | ;As input, this is a floating-point zero in short format.
| ;As output, such a zero would appear as `0.0s0`
| ; (or as `0.0` if short-float was the default format).
`6.02E+23` | ;Avogadro's number, in default format
`602E+21` | ;Also Avogadro's number, in default format
For information on how floats are printed, see Section 22.1.3.1.3 Printing Floats.

© Franz Inc. 1998-2019 - File last updated 02-07-2019