Convierte fácilmente números a palabras en Laravel utilizando esta biblioteca, que aprovecha la extensión PHP INTL
nativa para realizar conversiones sin esfuerzo. Con esta biblioteca, puedes convertir números a palabras en varios idiomas y también obtener el valor en formato de moneda según el idioma seleccionado. Los idiomas admitidos incluyen inglés, español, portugués, francés, italiano, rumano, hindi, polaco y persa (farsi).
⚙️ Esta biblioteca es compatible con las versiones de Laravel 8.0 y superiores ⚙️
Para instalar la dependencia a través de Composer, ejecuta el siguiente comando:
composer require rmunate/spell-number
Es importante asegurarse de que la extensión intl
esté habilitada y cargada en el entorno.
Después de instalar la dependencia en tu proyecto, puedes comenzar a usarla con los siguientes ejemplos:
Para obtener la lista actual de idiomas compatibles, ejecuta el siguiente comando:
SpellNumber::getAllLocales();
// array [
// 'de', // German from Germany
// 'en', // English from the United States
// 'es', // Spanish from Spain
// 'pt', // Portuguese from Portugal
// 'fr', // French from France
// 'it', // Italian from Italy
// 'ro', // Romanian from Romania
// 'fa', // Farsi from Iran
// 'hi', // Hindi from India
// 'pl', // Polish from Poland
// ]
Puedes convertir fácilmente números a palabras definiendo la configuración regional a aplicar. Si no defines una configuración regional, se aplicará "en" (inglés) de forma predeterminada.
SpellNumber::value(100)->locale('es')->toLetters();
// "Cien"
SpellNumber::value(100)->locale('fa')->toLetters();
// "صد"
SpellNumber::value(100)->locale('en')->toLetters();
// "One Hundred"
SpellNumber::value(100)->locale('hi')->toLetters();
// "एक सौ"
Si es necesario, puedes pasar un número de punto flotante como argumento para convertirlo a palabras.
SpellNumber::value(123456789.12)->locale('es')->toLetters();
// "Ciento Veintitrés Millones Cuatrocientos Cincuenta Y Seis Mil Setecientos Ochenta Y Nueve Con Doce"
SpellNumber::value(123456789.12)->locale('hi')->toLetters();
// "बारह करोड़ चौंतीस लाख छप्पन हज़ार सात सौ नवासी और बारह"
Este método puede ser útil para facturas, recibos y escenarios similares. Obtiene el valor proporcionado en formato de 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"
SpellNumber::value(100)->locale('fa')->currency('تومان')->toMoney();
// "صد تومان"
SpellNumber::value(100.12)->locale('hi')->currency('रूपये')->fraction('पैसे')->toMoney();
// "एक सौ रूपये और बारह पैसे"
SpellNumber::value(100)->locale('hi')->currency('रूपये')->toMoney();
// "एक सौ रूपये"
SpellNumber::value(100.65)->locale('pl')->currency('złotych')->fraction('groszy')->toMoney();
// "Sto Złotych I Sześćdziesiąt Pięć Groszy"
Para admitir la versión 1.X, se mantienen los siguientes métodos de inicialización.
// Entero, este método requiere estrictamente un valor entero que se envíe como argumento.
SpellNumber::integer(100)->locale('es')->toLetters();
// Números de punto flotante, este método requiere estrictamente un valor de cadena como argumento.
SpellNumber::float('12345.23')->locale('es')->toLetters();
- 🇨🇴 Raúl Mauricio Uñate Castro
- Correo Electrónico: [email protected]
- Siros Fakhri (Idioma Farsi)
- Ashok Devatwal (Idioma Hindi)
- Olsza (Idioma Polaco)
- Jens Twesmann (German Language)
Este proyecto se encuentra bajo la Licencia MIT.
🌟 ¡Apoya Mis Proyectos! 🚀
Realiza cualquier contribución que consideres adecuada; el código es completamente tuyo. Juntos, podemos hacer cosas increíbles y mejorar el mundo del desarrollo. Tu apoyo es invaluable. ✨
Si tienes ideas, suger
encias o simplemente quieres colaborar, ¡estamos abiertos a todo! Únete a nuestra comunidad y sé parte de nuestro camino hacia el éxito. 🌐👩💻👨💻