|
Allegro CL |
ANSI Common Lisp 22 Printer 22.3 Formatted Output 22.3.3 FORMAT Floating-Point Printers
22.3.3.3 Tilde G: General Floating-PointThe next arg is printed as a float in either fixed-format or exponential notation as appropriate. The full form is ~w,d,e,k,overflowchar,padchar,exponentcharG. The format in which to print arg depends on the magnitude (absolute value) of the arg. Let n be an integer such that 10n-1 <= |arg| < 10n. Let ee equal e+2, or 4 if e is omitted. Let ww equal w-ee, or nil if w is omitted. If d is omitted, first let q be the number of digits needed to print arg with no loss of information and without leading or trailing zeros; then let d equal (max q (min n 7)). Let dd equal d-n. If 0 <= dd <= d, then arg is printed as if by the format directives ~ww,dd,,overflowchar,padcharF ee@T Note that the scale factor k is not passed to the ~F directive. For all other values of dd, arg is printed as if by the format directive ~w,d,e,k,overflowchar,padchar,exponentcharE In either case, an @ modifier is supplied to the ~F or ~E directive if and only if one was supplied to the ~G directive. ~G binds *print-escape* to false and *print-readably* to false. |