/php-numero-a-letras

Librería PHP para convertir un número a letras, palabras o texto.

Primary LanguagePHPMIT LicenseMIT

Número a Letras PHP

tests StyleCI Latest Stable Version Total Downloads License

Librería PHP para convertir un número a su valor escrito en numeral (letras, palabras o texto).

Requisitos

PHP 7.2 o superior.

Instalar

Para PHP 7.2 o superior:

composer require luecano/numero-a-letras

Para PHP 5.6, 7.1 o inferior:

composer require luecano/numero-a-letras "^2.0"

Uso

Agregar referencia a librería.

require 'vendor/autoload.php';
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.