https://github.com/tal7aouy/aveta
Convert long numbers into abbreviated and human-readable strings on an easy way.
https://github.com/tal7aouy/aveta
format human million numbers readable thousand
Last synced: 2 months ago
JSON representation
Convert long numbers into abbreviated and human-readable strings on an easy way.
- Host: GitHub
- URL: https://github.com/tal7aouy/aveta
- Owner: tal7aouy
- License: mit
- Created: 2022-01-27T14:28:11.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-05T17:08:33.000Z (5 months ago)
- Last Synced: 2025-03-23T09:50:10.143Z (3 months ago)
- Topics: format, human, million, numbers, readable, thousand
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/aveta
- Size: 235 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Aveta
![]()
Convert large numbers into concise, human-readable formats easily.
| Input :disappointed: | Output :joy: |
| -------------------- | ------------ |
| `6000` | `'6K'` |
| `10000` | `'10K'` |
| `42500` | `'42.5K'` |
| `1250000` | `'1.25M'` |## Installation
### With npm:
```bash
npm install aveta
```### With Yarn:
```bash
yarn add aveta
```## Usage
```typescript
aveta(value: number, options?: Partial): string;
``````js
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.
```typescript
avetaReverse(value: string): number;
``````js
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.
```bash
$ aveta 234000
# or
$ npx aveta 234000
234K
```For more options, run:
```bash
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` | `['', '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 |
| `threshold` | `number` | `0` | Minimum value before unit conversion is applied (coming) |---
## License
Aveta is available under the [MIT License](LICENSE).
## Authors
Created by [Mhammed Talhaouy](https://github.com/tal7aouy).