strpct(3) - NetBSD Manual Pages

STRPCT(3)               NetBSD 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 bufsiz is 0) formatted string which is placed in buf.
EXAMPLES
strpct(buf, sizeof(buf), 1, 16, 3); => "6.250" strpct(buf, sizeof(buf), 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 num- bers, 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> Roland Illig <rillig@NetBSD.org> NetBSD 10.99 May 3, 2025 NetBSD 10.99

Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.