|
NAMEhumanize_number —
format a number into a human readable form
LIBRARYSystem Utilities Library (libutil, -lutil)SYNOPSIS#include <libutil.h>
int
DESCRIPTIONThehumanize_number () function formats the signed 64-bit
quantity given in number into buf.
A space and then suffix is appended to the end. The
buffer pointed to by buf must be at least
len bytes long.
If the formatted number (including suffix)
would be too long to fit into buf, then divide
number by 1024 until it will. In this case, prefix
suffix with the appropriate designator. The
The traditional (default) prefixes are:
Note: An uppercase K indicates a power of two, a lowercase k a power of ten. The IEE/IEC (and now also SI) power of two prefixes are:
The len argument must be at least 4 plus the
length of suffix, in order to ensure a useful result
is generated into buf. To use a specific prefix,
specify this as scale (multiplier = 1024 ^ scale; when
The following flags may be passed in scale:
The following flags may be passed in flags:
RETURN VALUESUpon success, thehumanize_number function returns the
number of characters that would have been stored in buf
(excluding the terminating NUL ) if
buf was large enough, or -1 upon failure. Even upon
failure, the contents of buf may be modified. If
HN_GETSCALE is specified, the prefix index number will
be returned instead.
SEE ALSOexpand_number(3)STANDARDSTheHN_DIVISOR_1000 and
HN_IEC_PREFIXES flags conform to ISO/IEC
Std 80000-13:2008 and IEEE Std 1541-2002.
HISTORYThehumanize_number () function first appeared in
NetBSD 2.0 and then in FreeBSD
5.3. The HN_IEC_PREFIXES flag was introduced in
FreeBSD 9.0.
CAVEATSFor numbers greater than 999 using buffer length of 4 and less can cause rounding errors. When usingHN_IEC_PREFIXES the same
error occurs for buffer length of 5 or less.
Visit the GSP FreeBSD Man Page Interface. |