Les cuento que hace poco estaba desarrollando un sistemita el cual imprime recibos, el cliente me comento si podia pasar las cantidades expresadas en numeros a letras (todo quieren que haga el sistema
), y que creen que le dije, pos que era imposible hacerlo, pero despues de pensar un poco me sono interesante la idea, me dio flojera hacer una funcion asi que me dedique a buscar en San Google, y que me encuentro con algunas clases que ya hacian eso, asi que aqui listo las que encontre y como utilizar, la neta que me sorprendieron algunas por lo eficientes que son:
numerosALetras: Esta clase es la mas malita, por asi decir, en la pagina del autor esta una version muy viejita, la descargue y me lleve la sorpresa de que no funciona bien, que mal, asi que me di a la tarea de corregir los detalles que tenia, y quedo modificada y remasterizada. El link de descarga de esta y todas las clases, con sus respectivos ejemplos esta al final de este articulo.
num2letras: Esta no es una clase, es solo una funcion, no hay necesidad de crear objetos y toda la onda, pa los que no les gusta la POO. Esta a primera vista se vee muy sencilla, pero en realidad es muy eficiente, muy recomendable, ya que soporta cantidades muy grandes, incluso decimales.
EnLetras: Sin duda mi favorita, me gusta por la forma tan eficiente de expresar los numeros, muy eficiente, hasta ahora todas las cantidades que he convertido con esta clase han sido correctamente expresadas, tambien soporta decimales, el inconveniente es que solo soporta 2 decimales.
Numbers_Words: La mas compleja de todas, esta clase en realidad es la que incluye PEAR, pero por lo regular no todos los servidores tienen instalado PEAR, asi que me di el tiempo para hacerle algunas modificaciones para que no dependiera de PEAR, y solo pueda ser utilizada como una clase mas. Esta incluye ademas soporte para distintos lenguajes, pero en esta ocasion solo se hicieron los cambios para el idioma español.
Ahora para la siguiente ocasion que tengan la necesidad de convertir numeros a letras en PHP aqui tienen un abanico de opciones, todas de gran calidad.
Aquí les dejo el pack con todas las clases y su respectivos ejemplos. DESCARGAR
Una clase sin duda muy util, felicidades por compartirla pero no funciona tu hipervinculo para la descarga, ojala verifiques eso..
Salu2
Gracias por el aporte aunq el link esta roto, pero me sirvio mucho la de ENletras muy completo
muy bueno el programa pero no me descarga
Gracias!, eres lo maaaximo chapulin colorado
!
Según rapidshare el archivo fue borrado, lo puedes subir nuevamente?
hola un favor me podrias pasar el archivo modificado del pear, el link q has puesto no sirve te dejo mi correo gracias edgar_dextre@hotmail.com
Aqui les dejo el link para los que solicitaban los archivos https://rapidshare.com/files/602424223/Numeros_a_Letras.rar
Una opción más.
Aún joven pero algo más ambiciosa y, por las pruebas que he hecho, bastante funcional:
https://github.com/bitifet/alphanum
Faltan algunas tonterias como el soporte para decimales (muy fácil de implementar) y añadir más idiomas.
La ventaja es que los idiomas se configuran mediante unos ficheros de “reglas” bastante autoexplicativos si se echa un ojo a los que ya hay y se pueden hacer variaciones dialectales, de género (ya están para catalán y castellano), etc…
Incluso hay uno para números romanos
Saludos.
Gracias Joan Miguel por tu aportación, muy interesante el proyecto, sería bueno darnos una vuelta para probar como funciona…
Saludos…
Grácias.
Ahora estoy preparando unas unit-test para poder testear fácilmente que no añado nuevos errores sobre lo que ya está testeado.
Después quiero hacer un pequeño formulario web para que se pueda probar (y reportar errores) on-line y preparar un pequeño articulillo para darlo un poco a conocer y explicar un poco mejor como se configuran los distintos idiomas.
Un amigo ya se ha ofrecido (si no se me echa atrás
) para configurar el Japonés
Por cierto, ya soporta decimales (y unidades fraccionarias). Y le acabo de configurar también los ordinales en castellano (guiándome por la wikipedia), aunque (con cifras elevadas) me suenan bastante extraños… Y, con lo que dice la wikipedia, no tengo muy claro estar haciéndolo bien
Por ejemplo: 5002235 -> [cincomillonésimo dosmilésimo duocentésimo trigésimo quinto]
Pero bueno, ya investigaremos más…
Thanks a lot for sharing this with all of us
you actually realize what you’re speaking approximately! Bookmarked. Please additionally seek advice from my site =). We can have a link alternate agreement between us
Just wish to say your article is as astounding.
The clearness in your post is simply excellent and i can
assume you are an expert on this subject. Fine with your permission let me to grab your RSS feed to keep updated with forthcoming
post. Thanks a million and please continue the enjoyable work.
If you are going for finest contents like I do, only
go to see this site everyday because it provides quality
contents, thanks
gracias por el aporte pero el link no funciona…
I’ll right away clutch your rss as I can not in finding your e-mail subscription hyperlink or e-newsletter service. Do you’ve any?
Please permit me recognize in order that I may just
subscribe. Thanks.
It’s going to be end of mine day, but before finish I am reading this great piece of writing to increase my knowledge.
Hi everyone, it’s my first pay a visit at this site, and post is truly fruitful for me, keep up posting such posts.