@spa-tools/utilities
humanizeUnit()
The humanizeUnit()
function humanizes a number utilizing a square-basis unit, returning a
tuple of formatted number with requested decimal places in first position and then respective
human-readable unit in second position.
By default, it will use the following units: K
, M
, B
, T
and a basis of 1000
with one
decimal place, respectively representing thousand
, million
, billion
and trillion
.
Usage
import { humanizeUnit } from '@spa-tools/utilities';
const humanizeUnit1 = humanizeUnit(1000000);
console.log(humanizeUnit1);
// --> ['1.00', 'M']
const humanizeUnit2 = humanizeUnit(1234567, { basis: 1024, decimalPlaces: 2, units: ['KB', 'MB', 'GB', 'TB'] });
console.log(humanizeUnit2);
// --> ['1.18', 'MB']
const humanizeUnit3 = humanizeUnit(1234567, {
basis: 1024,
decimalPlaces: 1,
units: ['KB', 'MB', 'GB', 'TB'],
useGrouping: false,
});
console.log(humanizeUnit3);
// --> ['1.2', 'MB']
const humanizeUnit4 = humanizeUnit(824, {
basis: 10,
decimalPlaces: 1,
units: ['decades', 'centuries', 'millennium', 'megayears', 'gigayears'],
useGrouping: false,
});
console.log(humanizeUnit4);
// --> ['8.2', 'centuries']
Arguments
Name | Type | Required? | Default | Description |
---|---|---|---|---|
dividend | number | yes | - | The dividend to use calculate the unit |
options | HumanizeUnitOptions | no | see HumanizeUnitOptions | The options for formatting the unit |
Returns
Returns humanized value as string
.
HumanizeUnitOptions
The options object for the humanizeUnit()
function.
Properties
Name | Type | Required? | Default | Description |
---|---|---|---|---|
basis | number | false | 1000 | The basis to use to calculate the unit |
decimalPlaces | number | false | 0 | The number of decimal places to round to |
units | string[] | false | ['K', 'M', 'B', 'T'] | The square-based units to use |