Next: , Previous: Physical Quantities, Up: Top


6 Numerical Output Format

The function nf is provided to format numbers according to specific criteria set as parameters in the :nf category (see Parameters). There is precise control over the number of digits printed, how grids are printed, etc. To show all parameters available, evaluate (parameter-help :nf); to get information about each one, (parameter-help :nf name).

Parameter Values Description
components list of strings Names of vector components to use when vector-format is :coordinate-unit-vectors.
date-time-separator nil, t, character Character to place between date and time in ISO8601 datime output. If nil, use a space, if T, use #\T.
degrees boolean Whether to format angles in degrees and angular rates in Hertz.
fracpart-digits nil, fixnum The number of digits to the right of the decimal floating point numbers when :significant-figures is nil.
full-precision nil, t If not nil, ignore :fracpart-digits, :intpart-digits, :significant-figures, and format floating point numbers to full precision.
horizontal-element-separator character What to put between horizontally separated elements for plain style.
ignore-day-only boolean If true, a timepoint specified day-only will show the time part as well.
intpart-digits nil, fixnum The minimum space allowed for the whole-number part of numbers when :significant-figures is nil. If this is larger than the actual number of digits, pad to the left with spaces. If this value is nil, allow enough space to accomodate the number.
no-units boolean Don't print units if true.
print-sign boolean Whether leading `+' is printed.
significant-figures nil, fixnum The number of significant figures formatted for numbers. If nil, formatting of numbers is done using :intpart-digits and, if a float, :fracpart-digits.
style nil, :tex, fixnum Style of format: plain (standard or shortened) or LaTeX.
tex-decimal-align boolean Align columns of numbers on decimal point in LaTeX.
tex-element-separator string Character to put between vertically separated matrix rows for LaTeX.
time nil,:tud,:alternative How to format time intervals: with unit for time (nil), ISO8601 time-unit designator (:tud), ISO8601 alternative (:alternative).
timepoint-linear symbol, list Convert timepoints to a linear scale if specified as a list of epoch time and unit. For example '(*midnight-2000* :year) will present time points as a real number of calendar years, including fractions, such as 3.3223. If the value is a symbol representing a unit, like :year, the epoch is taken as 0.
vector-format :horizontal, :vertical, :coordinate-unit-vectors Vectors are formatted as rows, columns or as linear combination of coordinate unit vectors.
vertical-element-separator character Character to put between vertically separated elements for plain.

— Generic Function: antik:nf object &optional stream

Format output for numerical objects. If stream is nil, use *standard-output*.

— Method: antik:nf (object float) &optional (stream *standard-output*)

Returns two values: the string and prints-as-zero.

— Macro: antik:nf-option name

Get/set the nf option named.

— Function: antik:nf-readably

The format produced will be readable to Lisp.

— Function: antik:nf-string object

Format output for numerical objects to a new string.

— Macro: antik:set-nf-options &rest name-values

Set the numerical formatting options.

— Macro: antik:with-nf-options (&rest name-values) &body body

Set the options for all nf calls within body to inherit.

— Function: antik:object-as-nf object

Define a new object exactly as the current nf options print an existing one. This function can be used for example to define a number exactly as the rounded print format of another one.