Package Exports
- currency-in-words
- currency-in-words/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (currency-in-words) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
currency-in-words
Convert currency or similar number formats to respective words
Installation:
npm i currency-in-words<$>[note] Supported Formats: Indian, International
Supported Languages: English
Beta: German, Spanish, French, Hindi, Italian, Dutch and Portuguese <$>
Usage:
import { convert, type ConvertProps } from 'currency-in-words'
/**
* const options: ConvertProps = {
* value: string,
* options?: {
* lang?: 'en' | 'de' | 'es' | 'fr' | 'hi' | 'it' | 'nl' | 'pt',
* format?: 'in' | 'intl'
* }
* }
*/
// indian-system
const inOptions: ConvertProps = {
value: '555.77'
}
const inWords1 = convert('555.77')
const inWords2 = convert(inOptions)
// international-system
const intlOptions: ConvertProps = {
value: '777.55',
options: {
lang: 'en',
format: 'intl'
}
}
const inWords3 = convert('777.55', { format: 'intl' })
const inWords4 = convert(intlOptions) // pass as options as well.console.log(convert('555')) // five hundred fifty five
console.log(convert('1022')) // one thousand twenty two
console.log(convert('1,022')) // NaN
console.log(convert('66.123')) // sixty six.twelve
console.log(convert('99.11')) // ninety nine.eleven
console.log(convert('99.09')) // ninety nine; decimals lesser than .10 is rejected
console.log(convert(100000)) // one lakh
console.log(convert(100000, { format: 'int' })) // one hundred thousandNote
- Expect
NaNwhen any invalid characters are present, eg: 10E55- Fractional part is corrected to two decimal places
- Decimals from .00 to .09 is ignored.
Compatibility
Supports upto 15 digits for both indian and international systems on their integer part. A RangeError will be thrown for length beyond 15.
eg: calling convert with
International system:
999,999,999,999,999 (1 quadrillion - 1)
Indian system:
99,99,99,99,99,99,999 (100 crore crore - 1)
Hacks
Hard time passing it as a string? cast it from the source
const amount = 0.99
const result = convert(`${amount}`) // zero.ninety nineEliminate commas
const amount = '1,000.99'
const sanitized = amount.replace(/,/, '') // 1000.99Want decimal places not to be corrected? Control it from code.
const amount = '123.123'
const [dollars, cents] = amount.split('.')
const result = `${convert(dollars)}.${convert(cents)}` // one hundred twenty threee.one hundred twenty three