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;
npm i js-currency-format
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';
-
CurrencyFormatter.prototype.parseThousandthsSymbol: (locales?: string | string[]) => string
: it can get thousandths symbol form the locales -
CurrencyFormatter.prototype.parseDecimalSymbol: (locales?: string | string[]) => string
: it can get decimal symbol form the locales -
CurrencyFormatter.prototype.parseStyleSymbol(options?: CurrencyFormatterProps) => [styleSymbolPosition, string]
: it can get style symbol form the CurrencyFormatterProps CurrencyFormatter.prototype.format: (formatVal: number | string, localesOrOption?: string | string[], options?: CurrencyFormatterProps) => string
CurrencyFormatter.prototype.unformat: (string: number | string, locales?: string | string[], options?: CurrencyFormatterProps & {isNumber: boolean}) => number | string
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',
}