Skip to content

🎱 Abbreviate number to a more human-friendly format (3.6K, 6.8M, etc.)

License

Notifications You must be signed in to change notification settings

bubkoo/number-abbreviate

Repository files navigation

Abbreviate Number

Abbreviate number to a more human-friendly format (3.6K, 6.8M, etc.)

MIT License Language PRs Welcome

build coverage Language grade: JavaScript NPM Package NPM Downloads

Install

npm install numabbr --save

Usage

Simple/shorthand mode:

import numabbr from 'numabbr'

numabbr(100)           // => 100
numabbr(10000)         // => 10K
numabbr(-10000)        // => -10K
numabbr(1000000)       // => 1M
numabbr(1020000)       // => 1.02M
numabbr(1000000000)    // => 1B
numabbr(1000000000000) // => 1T

numabbr(123456, { precision: 1 }) // => 123.5K

numabbr(123456, {
      precision: 1,
      commatize: { division: 2 },
}) // => 1,23.5K

Class/constructor mode:

import { NumberAbbreviate } from 'numabbr'
const abbr = new NumberAbbreviate({
  : 1000,
  : 10000,
  十万: 100000,
  百万: 1000000,
  千万: 10000000,
  亿: 100000000,
})

abbr.abbreviate(123)    // => 123
abbr.abbreviate(1000)   // => 1千
abbr.abbreviate(1234)   // => 1.23千
abbr.abbreviate(10000)  // => 1万
abbr.abbreviate(12345)  // => 1.23万
abbr.abbreviate(123456) // => 1.23十万

Options

  • precision { Number } Default 2. Specify the precision of decimal part
  • commatize { Object | Boolean } Default false. Specify how to commatize the result
    • division { Number } Default 3. Length of each divided parts
    • separator { Char } Default ,. Separator of each divided parts

Contributing

Pull requests and stars are highly welcome.

For bugs and feature requests, please create an issue.

License

The scripts and documentation in this project are released under the MIT License s