Minix Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
STRPCT(3)                BSD Library Functions Manual                STRPCT(3)

NAME
     strpct, strspct -- decimal percent formatters

LIBRARY
     System Utilities Library (libutil, -lutil)

SYNOPSIS
     #include <util.h>

     char *
     strpct(char *buf, size_t bufsiz, uintmax_t numerator,
         uintmax_t denominator, size_t precision);

     char *
     strspct(char *buf, size_t bufsiz, intmax_t numerator,
         intmax_t denominator, size_t precision);

DESCRIPTION
     The strpct() function formats the fraction represented by numerator and
     denominator into a percentage representation with given number of digits
     of precision without using floating point arithmetic.

RETURN VALUES
     strpct() and strspct() always return a pointer to a NUL-terminated
     (unless buflen is 0) formatted string which is placed in buf and is up to
     buflen characters.  If there was an overflow, the formatted string will
     reflect that precision loss.

EXAMPLES
           strpct(buf, buflen, 1, 16, 3);
           => "6.250"
           strpct(buf, buflen, 1, 2, 0);
           => "50"

HISTORY
     strpct() was originally implemented in csh(1) for NetBSD 1.3.  It printed
     into a static buffer, was not locale aware, handled unsigned long
     numbers, and printed a "%" at the end of the number.  Other programs such
     as df(1) and time(1) started using it.  strpct() and strspct() appeared
     separately in libutil for NetBSD 6.0.

AUTHORS
     Erik E. Fair <fair@netbsd.org>

BSD                             January 7, 2012                            BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | EXAMPLES | HISTORY | AUTHORS