Librería PHP para convertir un número a letras, palabras o texto.
php-numero-a-letras es una librería PHP que permite convertir números a su representación en palabras. Es útil para generar textos como "mil doscientos treinta y cuatro" a partir del número 1234.
Actualmente soporta números desde 0 hasta 999,999,999,999,999.
composer require luecano/numero-a-letrasPHP 7.2 a 8.1:
composer require luecano/numero-a-letras "^3.0"PHP 5.6 a 7.1:
composer require luecano/numero-a-letras "^2.0"Agregar referencia a librería.
require 'vendor/autoload.php'; // Línea no necesaria si se usa frameworks como Laravel
use Luecano\NumeroALetras\NumeroALetras;- Mínimo:
0 - Máximo:
999999999999999
Ejemplo para números grandes:
$formatter = new NumeroALetras();
echo $formatter->toWords(1234567890123);
//UN BILLÓN DOSCIENTOS TREINTA Y CUATRO MIL QUINIENTOS SESENTA Y SIETE MILLONES OCHOCIENTOS NOVENTA MIL CIENTO VEINTITRÉS$formatter = new NumeroALetras();
echo $formatter->toWords($number, $decimals);Parámetros:
-
int|float
$number(requerido) El número a convertir. -
int
$decimals(opcional) Establece el número de decimales, valor por defecto es 2.
$formatter = new NumeroALetras();
echo $formatter->toMoney($number, $decimals, $currency, $cents);Parámetros:
-
int|float
$number(requerido) El número a convertir. -
int
$decimals(opcional) Establece el número de decimales, valor por defecto es 2. -
string
$currency(opcional) Establece el nombre o código de moneda para la parte entera, valor por defecto es string vacío. -
string
$cents(opcional) Establece el nombre o código para la parte decimal, valor por defecto es string vacío.
$formatter = new NumeroALetras();
echo $formatter->toString($number, $decimals, $whole_str, $decimal_str);Parámetros:
-
int|float
$number(requerido) El número a convertir. -
int
$decimals(opcional) Establece el número de decimales, valor por defecto es 2. -
string
$whole_str(opcional) Establece el texto para la parte entera, valor por defecto es string vacío. -
string
$decimal_str(opcional) Establece el texto para la parte decimal, valor por defecto es string vacío.
$formatter = new NumeroALetras();
echo $formatter->toInvoice($number, $decimals, $currency);Parámetros:
-
int|float
$number(requerido) El número a convertir. -
int
$decimals(opcional) Establece el número de decimales, valor por defecto es 2. -
string
$currency(opcional) Establece el nombre o código de moneda, valor por defecto es string vacío.
Para cambiar la palabra 'UNO' por 'UN' hacer lo siguiente:
$formatter = new NumeroALetras();
$formatter->apocope = true;Para cambiar la palabra 'CON' por otra de su preferencia hacer lo siguiente:
$formatter = new NumeroALetras();
$formatter->conector = 'Y';El proyecto incluye el archivo test-library.php para hacer pruebas rápidas desde línea de comandos.
Uso:
php test-library.php <number> [decimals] [currency] [cents]Ejemplos:
php test-library.php 1234567890123.45
php test-library.php 1234567890123.45 2 SOLES CENTIMOS
php test-library.php 1234567890123.45 2 PESOS CENTIMOS$formatter = new NumeroALetras();
echo $formatter->toWords(1100);
//MIL CIEN$formatter = new NumeroALetras();
$formatter->apocope = true;
echo $formatter->toWords(101) . ' AÑOS';
//CIENTO UN AÑOS$formatter = new NumeroALetras();
echo $formatter->toMoney(2500.90, 2, 'DÓLARES', 'CENTAVOS');
//DOS MIL QUINIENTOS DÓLARES CON NOVENTA CENTAVOS$formatter = new NumeroALetras();
echo $formatter->toMoney(10.10, 2, 'SOLES', 'CENTIMOS');
//DIEZ SOLES CON DIEZ CENTIMOS$formatter = new NumeroALetras();
$formatter->conector = 'Y';
echo $formatter->toMoney(11.10, 2, 'pesos', 'centavos');
//ONCE PESOS Y DIEZ CENTAVOS$formatter = new NumeroALetras();
echo $formatter->toInvoice(1700.50, 2, 'soles');
//MIL SETECIENTOS CON 50/100 SOLES$formatter = new NumeroALetras();
echo $formatter->toWords(1234567890123);
//UN BILLÓN DOSCIENTOS TREINTA Y CUATRO MIL QUINIENTOS SESENTA Y SIETE MILLONES OCHOCIENTOS NOVENTA MIL CIENTO VEINTITRÉS$formatter = new NumeroALetras();
echo $formatter->toString(5.2, 1, 'años', 'meses');
//CINCO AÑOS CON DOS MESESSe aceptan contribuciones siguiendo el GitHub Flow. Crea una rama, agrega commits y abre un pull request.
Software de código abierto con licencia MIT license.