This library allows you to convert a number to words.
Add package to your composer.json by running:
$ composer require kwn/number-to-words
This library currently has two types of number-to-words transformations: number and currency. In order to use a specific transformer for certain language you need to create an instance of NumberToWords
class and then call a method which creates a new instance of a transformer;
Before using a transformer, it must be created:
use NumberToWords\NumberToWords;
// create the number to words "manager" class
$numberToWords = new NumberToWords();
// build a new number transformer using the RFC 3066 language identifier
$numberTransformer = $numberToWords->getNumberTransformer('en');
Then it can be used passing in numeric values to the toWords()
method:
$numberTransformer->toWords(5120); // outputs "five thousand one hundred twenty"
You can also use a static method:
NumberToWords::transformNumber('en', 5120); // outputs "five thousand one hundred twenty"
Creating a currency transformer works just like a number transformer.
use NumberToWords\NumberToWords;
// create the number to words "manager" class
$numberToWords = new NumberToWords();
// build a new currency transformer using the RFC 3066 language identifier
$currencyTransformer = $numberToWords->getCurrencyTransformer('en');
Then it can be used passing in numeric values for amount and ISO 4217 currency identifier to the toWords()
method:
$currencyTransformer->toWords(5099, 'USD'); // outputs "fifty dollars ninety nine cents"