-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Grupo Altum
authored and
Grupo Altum
committed
Jul 31, 2023
1 parent
9db8234
commit f5126ac
Showing
2 changed files
with
134 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/). |