Provided by: libpcp3-dev_3.8.12ubuntu1_amd64 bug

NAME

       pmNumberStr, pmNumberStr_r - fixed width output format for numbers

C SYNOPSIS

       #include <pcp/pmapi.h>

       const char *pmNumberStr(double value);
       char *pmNumberStr_r(double value, char *buf, int buflen);

       cc ... -lpcp

DESCRIPTION

       pmNumberStr  returns  the  address  of  a  8-byte buffer that holds a null-byte terminated
       representation of value suitable for output with fixed width  fields.   The  pmNumberStr_r
       function  does  the  same,  but  stores the result in a user-supplied buffer buf of length
       buflen, which should have room for at least 8 bytes.

       The value is scaled using multipliers in powers of ``one thousand'' (the decimal ``kilo'')
       and has a bias that provides greater precision for positive numbers as opposed to negative
       numbers.

       The format depends on the sign and magnitude of value as follows (d represents  a  decimal
       digit):

                             ┌──────────────────────────────────┬─────────┐
                             │           value range            │ format  │
                             ├──────────────────────────────────┼─────────┤
                             │        > 999995000000000         │  inf?   │
                             │999995000000000 - 999995000000    │ ddd.ddT │
                             │   999995000000 - 999995000       │ ddd.ddG │
                             │      999995000 - 999995          │ ddd.ddM │
                             │         999995 - 999.995         │ ddd.ddK │
                             │        999.995 - 0.005           │ ddd.dd  │
                             │          0.005 - -0.005          │   0.00  │
                             │         -0.005 - -99.95          │ -dd.dd  │
                             │        -99.995 - -99995          │ -dd.ddK │
                             │         -99995 - -99995000       │ -dd.ddM │
                             │      -99995000 - -99995000000    │ -dd.ddG │
                             │   -99995000000 - -99995000000000 │ -dd.ddT │
                             │       < -99995000000000          │ -inf?   │
                             └──────────────────────────────────┴─────────┘
       At  the boundary points of the ranges, the chosen format will retain the maximum number of
       significant digits.

NOTES

       pmNumberStr returns a pointer to a static buffer and hence  is  not  thread-safe.   Multi-
       threaded applications should use pmNumberStr_r instead.

SEE ALSO

       printf(3)