0.4.0 • Published 5 years ago

numerical-fns v0.4.0

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

numerical-fns

Collection of formatters to transform numbers.

Motivation

The defacto numerical library (numeraljs) hasn't been updated since 2017. And that's not a bad thing (if it's not broken, don't try to fix it), but as ECMAScript evolves and we drop browsers that we don't need to support anymore, I decided to give it a go at this and attempt to make a tree-shakeable version, using Internationalization API to leverage off locales.

Usage

npm install numerical-fns --save-dev
// or yarn add numerical-fns --dev

And import wherever

import { formatCurrency } from 'numerical-fns'

formatCurrency(1) // Output: $1.00

numerical-fns package contains esm and CommonJS modules

Formatters

  • ✅ Currency
  • ✅ Decimal
  • ✅ Percentage

Currency

Currency formatter takes two arguments, value to format and options.

import { formatCurrency } from 'numerical-fns'


formatCurrency(1.20, { locale: { locale: 'en-US', currency: 'USD' }, asLargeNumber: false, useParentesis: false })
// Output: $1.20

value - Number or String

options - Object

Options

Namedescriptiondefault
localelocale object that contains locale, currency and largeNumbers i18nen-US see locales/en-us.js
asLargeNumbersadd suffix to the formatted number. Ex: $100 thousandfalse
useParentesiswrap formatted in parentesis instead of - signfalse

Decimal

Decimal formatter takes two arguments, value to format and options.

import { formatDecimal } from 'numerical-fns'


formatDecimal(1.20, { locale: { locale: 'en-US' }, asLargeNumber: false, useParentesis: false })
// Output: 1.20

value - Number or String

options - Object

Options

Namedescriptiondefault
localelocale object that contains locale and largeNumbers i18nen-US see locales/en-us.js
asLargeNumbersadd suffix to the formatted number. Ex: $100 thousandfalse
useParentesiswrap formatted in parentesis instead of - signfalse

Percentage

Percentage formatter takes two arguments, value to format and options.

import { formatPercentage } from 'numerical-fns'


formatPercentage(1.20, { locale: { locale: 'en-US' }, useParentesis: false })
// Output: 120%

value - Number or String

options - Object

Options

Namedescriptiondefault
localelocale object that contains locale or your own, as long as it has locale defineden-US see locales/en-us.js
useParentesiswrap formatted in parentesis instead of - signfalse