Skip to content
/ aveta Public

Convert long numbers into abbreviated and human-readable strings on an easy way.

License

Notifications You must be signed in to change notification settings

tal7aouy/aveta

Repository files navigation

Aveta


logo

Convert large numbers into concise, human-readable formats easily.

Input 😞 Output 😂
6000 '6K'
10000 '10K'
42500 '42.5K'
1250000 '1.25M'

Installation

With npm:

npm install aveta

With Yarn:

yarn add aveta

Usage

aveta(value: number, options?: Partial<IOptions>): string;
import aveta from 'aveta';

// For CommonJS: `const { aveta } = require('aveta');`

aveta(8700); // '8.7K'

aveta(123456, {
  digits: 3,
  lowercase: true,
});
// '123k'

aveta(4567, {
  digits: 3,
  lowercase: true,
});
// '4.57k'

aveta(2048000, {
  precision: 2,
  lowercase: true,
});
// '2.48m'

aveta(45500, {
  precision: 3,
  separator: ',',
});
// '45,500K'

aveta(1440000, {
  units: ['B', 'KB', 'MB', 'GB', 'TB'],
  space: true,
});
// '1.44 MB'

AvetaReverse

Aveta also supports reversing the human-readable format back to a numeric value using the avetaReverse function.

avetaReverse(value: string): number;
import { avetaReverse } from 'aveta';

// For CommonJS: `const { avetaReverse } = require('aveta');`

avetaReverse('8.7K'); // 8700

avetaReverse('123k'); // 123000

avetaReverse('4.57k'); // 4570

avetaReverse('2.48m'); // 2480000

Command Line Usage

You can also use aveta directly in the terminal.

$ aveta 234000
# or
$ npx aveta 234000
234K

For more options, run:

aveta --help

Default Options

Default Options

Name Type Default Description
precision number 1 Number of decimal places to round to
digits number 0 Number of significant digits to display
separator string '.' Decimal separator (e.g. . or ,)
lowercase boolean false Output unit abbreviations in lowercase
space boolean false Insert a space between the number and unit abbreviation
units Array<string> ['', 'K', 'M', 'B', 'T', 'P', 'E'] Units to use for thousand, million, billion, etc.
base number 1000 Base to scale numbers (default is 1000 for K, M, etc.)
roundingMode 'up' | 'down' | 'nearest' 'nearest' How numbers are rounded: nearest, always up, or always down(coming)
threshold number 0 Minimum value before unit conversion is applied (coming)

License

Aveta is available under the MIT License.

Authors

Created by Mhammed Talhaouy.