p If the formatted number (including .Fa suffix ) would be too long to fit into .Fa buffer , then divide .Fa number by 1024 until it will. In this case, prefix .Fa suffix with the appropriate SI designator.
p The prefixes are: l -column "Prefix" "Description" "Multiplier" -offset indent t Sy "Prefix" Ta Sy "Description" Ta Sy "Multiplier" t k kilo 1024 t M mega 1048576 t G giga 1073741824 t T tera 1099511627776 t P peta 1125899906842624 t E exa 1152921504606846976 .El
p .Fa len must be at least 4 plus the length of .Fa suffix , in order to ensure a useful result is generated into .Fa buffer . To use a specific prefix, specify this as .Fa scale (Multiplier = 1024 ^ scale). This can not be combined with any of the .Fa scale flags below.
p The following flags may be passed in
a scale : l -tag -width Dv -offset indent t Dv HN_AUTOSCALE Format the buffer using the lowest multiplier possible. t Dv HN_GETSCALE Return the prefix index number (the number of times .Fa number must be divided to fit) instead of formatting it to the buffer. .El
p The following flags may be passed in
a flags : l -tag -width Dv -offset indent t Dv HN_DECIMAL If the final result is less than 10, display it using one digit. t Dv HN_NOSPACE Do not put a space between .Fa number and the prefix. t Dv HN_B Use 'B' (bytes) as prefix if the original result does not have a prefix. t Dv HN_DIVISOR_1000 Divide .Fa number with 1000 instead of 1024. .El
p The .Fn dehumanize_number function parses the string representing an integral value given in .Fa str and stores the numerical value in the integer pointed to by .Fa result . The provided string may hold one of the suffixes, which will be interpreted and used to scale up its accompanying numerical value. .Sh RETURN VALUES .Fn humanize_number returns the number of characters stored in .Fa buffer (excluding the terminating NUL) upon success, or -1 upon failure. If .Dv HN_GETSCALE is specified, the prefix index number will be returned instead.
p .Fn dehumanize_number returns 0 if the string was parsed correctly. A -1 is returned to indicate failure and an error code is stored in .Va errno . .Sh ERRORS .Fn dehumanize_number will fail and no number will be stored in .Fa result if: l -tag -width Er t Bq Er EINVAL The string in .Fa str was empty or carried an unknown suffix. t Bq Er ERANGE The string in .Fa str represented a number that does not fit in .Fa result . .El .Sh SEE ALSO .Xr strsuftoll 3 , .Xr orders 7 , .Xr humanize_number 9 .Sh HISTORY .Fn humanize_number first appeared in .Nx 2.0 .
p .Fn dehumanize_number first appeared in .Nx 5.0 .