The simplest output functions are those that display numbers from the
data or floating-point stacks. Floating-point output is always displayed
using base 10. Numbers displayed from the data stack use the value stored
in `base`

.

`.`

n –core “dot”

Display (the signed single number) `n` in free-format, followed by a space.

`dec.`

n –gforth “dec.”

Display *n* as a signed decimal number, followed by a space.

`hex.`

u –gforth “hex.”

Display *u* as an unsigned hex number, prefixed with a "$" and
followed by a space.

`u.`

u –core “u-dot”

Display (the unsigned single number) `u` in free-format, followed by a space.

`.r`

n1 n2 –core-ext “dot-r”

Display `n1` right-aligned in a field `n2` characters wide. If more than
`n2` characters are needed to display the number, all digits are displayed.
If appropriate, `n2` must include a character for a leading “-”.

`u.r`

u n –core-ext “u-dot-r”

Display `u` right-aligned in a field `n` characters wide. If more than
`n` characters are needed to display the number, all digits are displayed.

`d.`

d –double “d-dot”

Display (the signed double number) `d` in free-format. followed by a space.

`ud.`

ud –gforth “u-d-dot”

Display (the signed double number) `ud` in free-format, followed by a space.

`d.r`

d n –double “d-dot-r”

Display `d` right-aligned in a field `n` characters wide. If more than
`n` characters are needed to display the number, all digits are displayed.
If appropriate, `n` must include a character for a leading “-”.

`ud.r`

ud n –gforth “u-d-dot-r”

Display `ud` right-aligned in a field `n` characters wide. If more than
`n` characters are needed to display the number, all digits are displayed.

`f.`

r –float-ext “f-dot”

Display (the floating-point number) *r* without exponent,
followed by a space.

`fe.`

r –float-ext “f-e-dot”

Display *r* using engineering notation (with exponent dividable
by 3), followed by a space.

`fs.`

r –gforth “f-s-dot”

Display *r* using scientific notation (with exponent), followed
by a space.

`fp.`

r –float-ext “f-e-dot”

Display *r* using SI prefix notation (with exponent dividable
by 3, converted into SI prefixes if available), followed by a space.

`precision`

– ufloat-ext “precision”

*u* is the number of significant digits currently used by
`F.`

`FE.`

and `FS.`

`set-precision`

u –float-ext “set-precision”

Set the number of significant digits currently used by
`F.`

`FE.`

and `FS.`

to *u*.

`f.rdp`

rf +nr +nd +np –gforth “f.rdp”

Print float *rf* formatted. The total width of the output is
*nr*. For fixed-point notation, the number of digits after the
decimal point is *+nd* and the minimum number of significant
digits is *np*. `Set-precision`

has no effect on
`f.rdp`

. Fixed-point notation is used if the number of
siginicant digits would be at least *np* and if the number of
digits before the decimal point would fit. If fixed-point notation
is not used, exponential notation is used, and if that does not
fit, asterisks are printed. We recommend using *nr*>=7 to avoid
the risk of numbers not fitting at all. We recommend
*nr*>=*np*+5 to avoid cases where `f.rdp`

switches to
exponential notation because fixed-point notation would have too
few significant digits, yet exponential notation offers fewer
significant digits. We recommend *nr*>=*nd*+2, if you want to
have fixed-point notation for some numbers. We recommend
*np*>*nr*, if you want to have exponential notation for all
numbers.

Examples of printing the number 1234.5678E23 in the different floating-point output formats are shown below:

f. 123456779999999000000000000. fe. 123.456779999999E24 fs. 1.23456779999999E26