UNPKG

parsecurrency

Version:

Tiny currency string parser utility

62 lines (50 loc) 1.66 kB
# parsecurrency ![Build Status](https://github.com/mktj/parsecurrency/actions/workflows/test.yml/badge.svg) [![npm version](http://img.shields.io/npm/v/parsecurrency.svg?style=flat)](https://npmjs.org/package/parsecurrency "View this project on npm") Node / browser currency parser. Extensive currency parsing utility designed to extract value, decimal separator, group separator, currency symbol, iso code and sign from currency string. It should work with most world [currency formats][1] except: - currencies with 3 decimals - currency with 2 character group separator (Swaziland Lilangeni) Works with: - international currency formatting (SFr 12'345.67 or 10 000,00) - indian number system (1,50,000.00) - parsing CHF Swiss Franc (9'000.00 CHF) - currency symbols as a prefix / suffix with or without a space - currency code before or after the value, with or without space - positive and negative signs (before the currency) ## Install ``` npm i parsecurrency --save ``` ## Example ```javascript const parseCurrency = require('parsecurrency'); const example1 = parseCurrency('$123,456.99USD'); // example1 => { raw: '$123,456.99USD', value: 123456.99, integer: '123,456', decimals: '.99', currency: 'USD', symbol: '$', decimalSeparator: '.', groupSeparator: ',', sign: '' } const example2 = parseCurrency('-¥578,349,027'); // example2 => { raw: '-¥578,349,027', value: -578349027, integer: '-578,349,027', decimals: '', currency: '', symbol: '¥', decimalSeparator: '', groupSeparator: ',', sign: '-' } ``` [More examples](./test.js) [1]: http://www.thefinancials.com/Default.aspx?SubSectionID=curformat