pmnumberstr(3) — Linux manual page

NAME | C SYNOPSIS | DESCRIPTION | NOTES | SEE ALSO | COLOPHON

PMNUMBERSTR(3)          Library Functions Manual          PMNUMBERSTR(3)

NAME         top

       pmNumberStr, pmNumberStr_r - fixed width output format for
       numbers

C SYNOPSIS         top

       #include <pcp/pmapi.h>

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

       cc ... -lpcp

DESCRIPTION         top

       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         top

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

SEE ALSO         top

       printf(3)

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at 
       ⟨http://www.pcp.io/⟩.  If you have a bug report for this manual
       page, send it to pcp@groups.io.  This page was obtained from the
       project's upstream Git repository
       ⟨https://github.com/performancecopilot/pcp.git⟩ on 2021-04-01.
       (At that time, the date of the most recent commit that was found
       in the repository was 2021-04-01.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

Performance Co-Pilot               PCP                    PMNUMBERSTR(3)