luecano / numero-a-letras
Convierte un número a letras.
Fund package maintenance!
lecano
Installs: 158 384
Dependents: 1
Suggesters: 0
Security: 0
Stars: 71
Watchers: 4
Forks: 28
Open Issues: 0
Requires
- php: ^8.2
Requires (Dev)
- phpunit/phpunit: ^11.0
README
Librería PHP para convertir un número a letras, palabras o texto.
Introducción
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.
Instalación
PHP ^8.2:
composer require luecano/numero-a-letras "^4.0"
PHP 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"
Uso
Agregar referencia a librería.
require 'vendor/autoload.php'; // Línea no necesaria si se usa frameworks como Laravel use Luecano\NumeroALetras\NumeroALetras;
Convertir un número a letras o palabras
$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.
Convertir un número a letras en formato moneda
$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.
Convertir un número a letras en formato libre
$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.
Convertir un número a letras en formato de facturación electrónica SUNAT
$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.
Apócope de uno
Para cambiar la palabra 'UNO' por 'UN' hacer lo siguiente:
$formatter = new NumeroALetras(); $formatter->apocope = true;
Conector
Para cambiar la palabra 'CON' por otra de su preferencia hacer lo siguiente:
$formatter = new NumeroALetras(); $formatter->conector = 'Y';
Ejemplos de uso
$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->toString(5.2, 1, 'años', 'meses'); //CINCO AÑOS CON DOS MESES
Contribuciones
Se aceptan contribuciones siguiendo el GitHub Flow. Crea una rama, agrega commits y abre un pull request.
Licencia
Software de código abierto con licencia MIT license.