words-to-number
v1.1.1
Published
Convert written numbers into numeric values with Indian and international unit support.
Maintainers
Readme
words-to-number
Convert written numbers into digits with support for both Indian and international number systems.
Installation
npm install words-to-numberUsage
const wordsToNumber = require('words-to-number');
const legacyResult = await wordsToNumber(
'ninety nine billion ninety-nine lacs five thousand forty-nine'
);
console.log(legacyResult);
// { status: 'success', response: '99,00,99,05,049' }
const fastResult = wordsToNumber.fast('five crore sixty seven lakh');
console.log(fastResult);
// {
// status: 'success',
// response: '5,67,00,000',
// value: 56700000,
// formatted: {
// indian: '5,67,00,000',
// international: '56,700,000'
// }
// }
console.log(wordsToNumber.fast('five million').value);
// 5000000
console.log(wordsToNumber.fast('two billion').value);
// 2000000000API
await wordsToNumber(input)
Backward-compatible async API. Returns:
{ status: 'success', response: '1,23,456' }or
{
status: 'failure',
response: 'Conversion failed',
error: '...details...'
}wordsToNumber.fast(input)
Synchronous API that returns the parsed numeric value and both formatting styles.
wordsToNumber.sync(input)
Alias for wordsToNumber.fast(input).
Supported units
hundredthousandlakh,lac,lakhs,lacsmillion,millionscrore,croresbillion,billionstrillion,trillions
Normalization
The parser accepts common variants such as:
- hyphenated phrases like
twenty-one - optional
and - trailing
only fourtyasfortyhunderedashundred
Development
npm testRepository layout
.
|-- index.js
|-- src/
| |-- constants/
| | `-- number-words.js
| |-- converter.js
| |-- index.js
| `-- legacy.js
`-- test/
`-- words-to-number.test.js