Convertir de Numeros a Letras con PHP

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

14 pensamientos en “Convertir de Numeros a Letras con PHP

  1. 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.

      • 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 :-P) 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…😉

  2. disculpen en la de numerosALetras no puede escribir cuando se trata una cifra con decimales menores a 0.99
    o sea que si quiero poner 8.07, lo me escribe es “ocho punto siete” y no “ocho punto cero siete”. Ojala que alguien pudiera ayudarme y gracias😀

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s