(gawk.info)OFMT
Controlling Numeric Output with `print'
=======================================
When you use the `print' statement to print numeric values, `awk'
internally converts the number to a string of characters, and prints
that string. `awk' uses the `sprintf' function to do this conversion
(Note: Built-in Functions for String Manipulation.).
For now, it suffices to say that the `sprintf' function accepts a
"format specification" that tells it how to format numbers (or
strings), and that there are a number of different ways in which
numbers can be formatted. The different format specifications are
discussed more fully in Note: Format-Control Letters.
The built-in variable `OFMT' contains the default format
specification that `print' uses with `sprintf' when it wants to convert
a number to a string for printing. The default value of `OFMT' is
`"%.6g"'. By supplying different format specifications as the value of
`OFMT', you can change how `print' will print your numbers. As a brief
example:
$ awk 'BEGIN {
> OFMT = "%.0f" # print numbers as integers (rounds)
> print 17.23 }'
-| 17
According to the POSIX standard, `awk''s behavior will be undefined if
`OFMT' contains anything but a floating point conversion specification
(d.c.).
Next: Printf Prev: Output Separators Up: Printing
[ Dokumentation lokal installierter Software ]