luecano/numero-a-letras

Convierte un número a letras.

Fund package maintenance!
lecano

v4.0.0 2024-10-05 01:11 UTC

This package is auto-updated.

Last update: 2024-12-05 18:33:31 UTC


README

tests StyleCI Latest Stable Version Total Downloads License

Logo

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.