Skip to content

Commit

Permalink
new version
Browse files Browse the repository at this point in the history
  • Loading branch information
Grupo Altum authored and Grupo Altum committed Jul 31, 2023
1 parent 9db8234 commit f5126ac
Show file tree
Hide file tree
Showing 2 changed files with 134 additions and 40 deletions.
101 changes: 61 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,73 @@
# Convertir números en Letras Laravel / PHP
Convierta de números a letras, de forma facil para implementar en Facturas, Remisiones u otros.
# Convert Numbers to Words in Laravel

[![N|Solid](https://i.ibb.co/ZLzQTpm/Firma-Git-Hub.png)](#)
Easily convert numbers to words in Laravel using this library, which supports the native PHP INTL extension to perform the conversion seamlessly. This library allows you to convert numbers to words in multiple languages and also get the value in currency format based on the selected language. Supported languages include English, Spanish, Portuguese, French, Italian, and Romanian.

Convierta de manera sencilla números a letras (Solo en idioma Español), esta librería le puede ser útil para usar el valor en letras dentro de facturas, remisiones, etc. Puede retornar los valores en letras de solo números o tambien definiendo un tipo de moneda.
⚙️ This library is compatible with Laravel versions 8.0 and higher ⚙️

## Instalación
# Instalar a través de Composer
![Laravel 8.0+](https://img.shields.io/badge/Laravel-8.0%2B-orange.svg)
![Laravel 9.0+](https://img.shields.io/badge/Laravel-9.0%2B-orange.svg)
![Laravel 10.0+](https://img.shields.io/badge/Laravel-10.0%2B-orange.svg)

```console
composer require rmunate/spell-number 1.0.x-dev
![SpellNumbers](https://github.com/rmunate/SpellNumber/assets/91748598/f2aea68b-fc9f-46be-ae54-a4955f0ce7a2)

## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Creator](#creator)
- [License](#license)

## Installation
To install the dependency via Composer, execute the following command:

```shell
composer require rmunate/spell-number
```

## Generalidades
- El número entero más grande aceptado es 999999999999999999
- El decimal más grande aceptado es 99
- El método `->current('PESO')` asigna una S o ES al final en caso de que el numero sea mayor a 1, de no usarse, usará el valor PESO / PESOS
- El método `->fraction('CENTAVO')` asigna una S o ES al final en caso de que el numero sea mayor a 1, de no usarse, usará el valor CENTAVO / CENTAVOS
- El metodo `::float('1000.10')` solo recibe valores en formato String con separacion por coma o punto.

## Métodos

| LLAMADO METODOS CLASE | DESCRIPCIÓN METODO |
| ------ | ------ |
| ``` SpellNumber::integer(1000)->toLetters() ``` | Retorna el valor en letras "Capital Case". |
| ``` SpellNumber::float('1000,10')->toLetters() ``` | Retornar los valores en letras relacionando los dos valores con el conector "coma". |
| ``` SpellNumber::integer(1000)->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de moneda en letras. |
| ``` SpellNumber::integer(1000)->currency('DOLAR')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de "en este caso Dolares" en letras. |
| ``` SpellNumber::integer(1000)->currency('DOLAR')->fraction('CENTAVO')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de "en este caso Dolares y Centavos" en letras. |
| ``` SpellNumber::float('1000.50')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de moneda en letras. |
| ``` SpellNumber::float('1000.50')->currency('DOLAR')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de "en este caso Dolares" en letras. |
| ``` SpellNumber::float('1000.50')->currency('DOLAR')->fraction('CENTAVO')->toMoney() ``` | Retorna el valor en letras "Capital Case" como valor de "en este caso Dolares y Centavos" en letras. |

# Ejemplo de Uso
Make sure that the `intl` extension is enabled and loaded in your environment.

## Usage
After installing the dependency in your project, you can start using it with the following examples:

```php
SpellNumber::float('2000,50')->currency('Sol')->fraction('Centimo')->toMoney();
// "Dos Mil Soles Con Cincuenta Centimos"
// GET AVAILABLE LOCALES
SpellNumber::getAllLocales();
// array:6 [▼ //
// 0 => "en"
// 1 => "es"
// 2 => "pt"
// 3 => "fr"
// 4 => "it"
// 5 => "ro"
// ]

SpellNumber::float('2000,50')->toMoney();
// "Dos Mil Pesos Con Cincuenta Centavos"
// CONVERT INTEGER TO WORDS
SpellNumber::value(100)->locale('en')->toLetters();
// "One Hundred"
SpellNumber::value(12300000)->locale('en')->toLetters();
// "Twelve Million Three Hundred Thousand"

```
// CONVERT FLOAT TO WORDS
SpellNumber::value(123456789.12)->locale('en')->toLetters();
// "One Hundred Twenty-Three Million Four Hundred Fifty-Six Thousand Seven Hundred Eighty-Nine Point Twelve"

// CONVERT INTEGER TO CURRENCY TEXT FORMAT
SpellNumber::value(100)->locale('en')->currency('dollars')->toMoney();
// "One Hundred Dollars"
SpellNumber::value(100.12)->locale('en')->currency('Dollars')->fraction('cents')->toMoney();
// "One Hundred Dollars and Twelve Cents"

// OTHER STARTING METHODS

## Desarrollador(es)
- Ingeniero, Raúl Mauricio Uñate Castro
- [email protected]
- (Se reciben recomendaciones y mejoras al correo electronico.)
// Integer, this method strictly requires an integer value as an argument.
SpellNumber::integer(100)->locale('en')->toLetters();

// Floats, this method strictly requires a string value as an argument.
SpellNumber::float('12345.23')->locale('en')->toLetters();
```

## Open Source
- MIT
## Creator
- 🇨🇴 Raúl Mauricio Uñate Castro
- Email: [email protected]

## License
This project is under the [MIT License](https://choosealicense.com/licenses/mit/).
73 changes: 73 additions & 0 deletions README_SPANISH.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Convertir de números a Letras en Laravel

Convierta fácilmente números a letras en Laravel utilizando esta biblioteca, que admite la extensión nativa PHP INTL para realizar la conversión de manera sencilla. Con esta librería, puede convertir números a letras en varios idiomas y también obtener el valor en formato de moneda según el idioma seleccionado. Los idiomas con soporte incluyen inglés, español, portugués, francés, italiano y rumano.

⚙️ Esta librería es compatible con versiones de Laravel 8.0 y superiores ⚙️

![Laravel 8.0+](https://img.shields.io/badge/Laravel-8.0%2B-orange.svg)
![Laravel 9.0+](https://img.shields.io/badge/Laravel-9.0%2B-orange.svg)
![Laravel 10.0+](https://img.shields.io/badge/Laravel-10.0%2B-orange.svg)

![SpellNumbers](https://github.com/rmunate/SpellNumber/assets/91748598/f2aea68b-fc9f-46be-ae54-a4955f0ce7a2)

## Tabla de Contenidos
- [Instalación](#instalación)
- [Uso](#uso)
- [Creador](#creador)
- [Licencia](#licencia)

## Instalación
Para instalar la dependencia a través de Composer, ejecuta el siguiente comando:

```shell
composer require rmunate/spell-number
```

Es importante asegurarse de que la extensión `intl` esté habilitada y cargada en el entorno.

## Uso
Después de instalar la dependencia en tu proyecto, puedes empezar a usarla con los siguientes ejemplos:

```php
// OBTENER LOS IDIOMAS DISPONIBLES
SpellNumber::getAllLocales();
// array:6 [▼ //
// 0 => "en"
// 1 => "es"
// 2 => "pt"
// 3 => "fr"
// 4 => "it"
// 5 => "ro"
// ]

// CONVERTIR ENTERO A LETRAS
SpellNumber::value(100)->locale('es')->toLetters();
// "Cien"
SpellNumber::value(12300000)->locale('es')->toLetters();
// "Doce Millones Trescientos Mil"

// CONVERTIR FLOAT A LETRAS
SpellNumber::value(123456789.12)->locale('es')->toLetters();
// "Ciento Veintitrés Millones Cuatrocientos Cincuenta Y Seis Mil Setecientos Ochenta Y Nueve Con Doce"

// CONVERTIR ENTERO A FORMATO TEXTO MONEDA
SpellNumber::value(100)->locale('es')->currency('pesos')->toMoney();
// "Cien Pesos"
SpellNumber::value(100.12)->locale('es')->currency('Pesos')->fraction('centavos')->toMoney();
// "Cien Pesos Con Doce Centavos"

// OTROS MÉTODOS DE INICIO

// Entero, este método requiere de forma estricta que se envíe un valor entero como argumento.
SpellNumber::integer(100)->locale('es')->toLetters();

// Flotantes, este método requiere de forma estricta que se envíe un valor de cadena de texto como argumento.
SpellNumber::float('12345.23')->locale('es')->toLetters();
```

## Creador
- 🇨🇴 Raúl Mauricio Uñate Castro
- Correo electrónico: [email protected]

## Licencia
Este proyecto se encuentra bajo la [Licencia MIT](https://choosealicense.com/licenses/mit/).

0 comments on commit f5126ac

Please sign in to comment.