http://www.usf.uos.de/infoservice/doc/

(gawk.info)OFMT


Next: Printf Prev: Output Separators Up: Printing
Enter node , (file) or (file)node

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 ]