npm.io
1.0.3 • Published 5 years ago

js-currency-format

Licence
ISC
Version
1.0.3
Deps
0
Size
34 kB
Vulns
0
Weekly
0

intl currency format

this is a tool that can format and unformat currency and percent.the special feature is that it can be uesd in event listenner function onChange of inputNumber;

install

npm i js-currency-format

usage

import CurrencyFormatter from 'js-currency-format';

const currencyFormatter = new CurrencyFormatter({
  locales: 'zh-CN',
  precision: 5,
  currency: 'USD',
  style: 'currency',
  // currencyDisplay: 'code'
});

const b = a.format(10000);
console.log(b);
console.log(a.unformat(b));

if you want to know more details of values from format and unformat, you can see file 'test/index.test.ts';

api
  1. CurrencyFormatter.prototype.parseThousandthsSymbol: (locales?: string | string[]) => string: it can get thousandths symbol form the locales
  2. CurrencyFormatter.prototype.parseDecimalSymbol: (locales?: string | string[]) => string: it can get decimal symbol form the locales
  3. CurrencyFormatter.prototype.parseStyleSymbol(options?: CurrencyFormatterProps) => [styleSymbolPosition, string]: it can get style symbol form the CurrencyFormatterProps
  4. CurrencyFormatter.prototype.format: (formatVal: number | string, localesOrOption?: string | string[], options?: CurrencyFormatterProps) => string
  5. CurrencyFormatter.prototype.unformat: (string: number | string, locales?: string | string[], options?: CurrencyFormatterProps & {isNumber: boolean}) => number | string
arguments

Number.prototype.toLocaleString.Maybe you can get some informations from this page of MDN;

// constructor
interface CurrencyFormatterProps {
  locales: string | string[],
  minimumIntegerDigits?: number,
  precision?: number,
  useGrouping?: boolean,
  localeMatcher?: 'lookup' | 'best fit',
  formatter?: typeof CurrencyFormatter.formatter,

  style?: 'decimal' | 'currency' | 'percent',
  currency?: string,
  currencyDisplay?: 'symbol' | 'code' | 'name',
}

//options of format
interface optionsofformat {
  minimumIntegerDigits?: number,
  precision?: number,
  useGrouping?: boolean,
  localeMatcher?: 'lookup' | 'best fit',

  style?: 'decimal' | 'currency' | 'percent',
  currency?: string,
  currencyDisplay?: 'symbol' | 'code' | 'name',
}

Keywords