number-to-text
Version:
A number to text converter
128 lines (95 loc) • 3.81 kB
Markdown
> `number-to-text` is a regular expression driven number to text converter (no mathematical operation used). supported languages `en-us` (US English), `en-in` (Indian English), `de` (German), `tr` (Turkish), `id` (Indonesian) `fr` (French)
[![Build Status][travis-ci-img]][travis-ci-url]
[![npm version][npm-version-img]][npm-version-url]
[![Test Coverage][coveralls-image]][coveralls-url]
[![js-standard-style][js-standard-style-img]][js-standard-style-url]
[](https://nodei.co/npm/number-to-text/)
## Index
* [Install](#install)
* [Usage](#usage)
* [License](#license)
## Install
### npm package
```bash
npm install number-to-text --save
```
### bower package
```bash
bower install number-to-text --save
```
## Usage
### node
```js
const numberToText = require('number-to-text')
require('number-to-text/converters/en-us');
numberToText.convertToText(12346)
numberToText.convertToText("12346")
```
```html
<script src="bower_components/dist/number-to-text.js"></script>
<!-- creates numberToText object on window -->
<script>
console.log(numberToText.convertToText(123456));
</script>
```
**Arguments**
* `num` - a string or number.
* `options`
- `language` - Default: `en-us` - possible Values : `en-us`, 'en-in', 'de', 'tr', 'fr'
- `separator` - Default: `,` for (en-us and en-in)
- `case` - Default: `titleCase` - possible Values : `"titleCase" , "lowerCase" , "upperCase"` for (en-us and en-in)
**Examples**
```js
const numberToText = require('number-to-text')
// import * as numberToText from "number-to-text";
require('number-to-text/converters/en-us'); // load converter
// import "number-to-text/converters/en-us";
numberToText.convertToText('123456')
//One Hundred Twenty Three Thousand, Four Hundred Fifty Six
numberToText.convertToText(123456)
//One Hundred Twenty Three Thousand, Four Hundred Fifty Six
numberToText.convertToText(123456, {case: "lowerCase"})
//one hundred twenty three thousand, four hundred fifty six
numberToText.convertToText(123456, {case: "upperCase"})
//ONE HUNDRED TWENTY THREE THOUSAND, FOUR HUNDRED FIFTY SIX
numberToText.convertToText('123456',{separator : '', case: "upperCase"})
//ONE HUNDRED TWENTY THREE THOUSAND FOUR HUNDRED FIFTY SIX
```
function is used to implement your own language converter.
**Arguments**
* `language` - a language code.
* `langConverter` - an object inehrited from numberToText.Converter
**writing own language converter**
```js
const numberToText = require('numberToText')
class EnCustomConverter extends numberToText.Converter { // use language code as converter prefix
constructor () {
super()
numberToText.addConverter(""/*enter language name here*/, this);
}
convertToText (num, options) {
/* Implement number to text conversion logic */
}
}
module.exports = new EnCustomConverter()
```
```js
npm test
```
[][license-url]
[]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat
[]: LICENSE
[]: https://travis-ci.org/Maheshkumar-Kakade/number-to-text.svg?branch=master
[]: https://travis-ci.org/Maheshkumar-Kakade/number-to-text
[]: https://badge.fury.io/js/number-to-text.svg
[]: http://badge.fury.io/js/number-to-text
[]: https://coveralls.io/repos/github/Maheshkumar-Kakade/number-to-text/badge.svg?branch=master
[]: https://coveralls.io/github/Maheshkumar-Kakade/number-to-text?branch=master
[]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg
[]: http://standardjs.com/