Cuando trabajamos con documentos contables, o con cosas que llevan una cantidad, a veces es necesario convertir los números a texto.
Esto pasa sobre todo cuando queremos convertir dinero a una representación legible, es decir, a letras o a texto.
Por ejemplo, convertir “123.00” a (al menos en México) “Ciento veintitrés pesos con cero centavos” o algo así.
Hoy me vi en la necesidad de ello y en lugar de escribir por mí mismo el código, busqué si alguien ya o había hecho, y así fue.
Como lo dije, esta función no es mía. Buscando en Google encontré este gist. Pero de donde realmente me basé para utilizar la función fue de un comentario hecho por un usuario llamado sapienman.
En fin, el código es este:
Ahora hay que ver su modo de uso.
Pegamos todo el código de arriba en un script, y luego lo importamos en HTML. Por ejemplo…
Ahora podemos llamar a la función globalmente. Como primer parámetro pasamos el número, y como segundo parámetro un objeto con opciones:
Así que, podemos llamarlo así:
Con este resultado:
Si no queremos estar pasando el segundo argumento cada vez que llamemos a la función, sigamos leyendo.
Pero si lo vamos a usar muchas veces, no vamos a llamarlo con el objeto con la configuración en cada momento. Mejor modificamos la función original 😉
Especificamente vamos a modificar las líneas 169, 170, 171 y 172. Como podemos ver, el autor asigna valores por defecto en caso de no pasar las opciones.
Así que cambiaríamos “PESOS CHILENOS” y todas las demás cosas por nuestra moneda. Después, sólo llamaríamos a la función así:
numeroALetras(200.58);
He escrito un ejemplo para que veas cómo se usa, míralo: ejemplo de conversión de dinero a texto en JS.
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Esta web usa cookies.
Ver comentarios
tiene errores al poner por ejemplo $1000 escribe UN MIL y debe poner solo MIL
El código es open source. Cuando usted quiera, puede agregar esa característica y publicarla
¿Como hago para implementarlo si el numero lo obtengo mediante un promt y quiero que el resultado se muestre en consola?
Respondo dudas en https://parzibyte.me/#contacto
Y como le hago para implementarlo si el numero lo recibo mediante un promt y quiero que el resultado se muestre en la consola ??
Respondo dudas en https://parzibyte.me/#contacto
Hola, queria saber cómo recibo los resultados para mandarlos a un input, sería la forma; llamando a la función y pasarle como parametro el valor del input que tiene el valor a convertir de numeros a letras, y como recibo la variable con las letras para escribirlas o pasarlas a otro input?
Mira ese post: https://parzibyte.me/blog/2019/01/31/ejemplo-conversion-dinero-texto-javascript/
Si quieres pasarlo a un input entonces sería
tuInput.value = letras;
Te invito a seguirme en mis redes sociales y a suscribirte a mi blog :)
Como lo aplico en un input con el input de texto. de manera automatica. no se como aplicarlo en el html
Mmm no entiendo bien tu pregunta, pero puedes agregar un listener al input:
document.querySelector("#idDelInput").addEventListener("change", function(){
let cantidad = this.value;
// Aquí convierte el valor
// y ponlo en donde lo quieras mostrar
});
Espero que funcione :) saludos
Muchas gracias parzibyte. He encontrado este código en otras página pero nadie te dice como implementarlo. Como yo no soy desarrollador no tengo idea de javascript o HTML (aunque programé en mis años mozos). Sin embargo, tu Modo de Uso me iluminó y pude emplear el código en un "workflow engine" de un sitio que me permite tener mi base de datos. Nuevamente gracias a tí y a @sapienman
Me da mucho gusto que te haya funcionado. Así es, a veces algunos desarrolladores suponemos que ya todos saben cómo usar las cosas, pero nos equivocamos; por eso trato de explicar las cosas un poco más detalladas sin llegar a aburrir al lector. Gracias por tus comentarios :-)