Un montón de programación implica cálculos con números, y puede formatear fácilmente números para mostrarlos agregando comas, decimales, signos negativos y otros caracteres apropiados según el tipo de número que sea.
Pero no siempre presenta sus resultados como parte de una ecuación matemática. La Web para el usuario general se trata más de palabras que de números, por lo que a veces un número que se muestra como un número no es apropiado.
En este caso, necesita el equivalente del número en palabras, no en números. Aquí es donde puedes toparte con dificultades. ¿Cómo convierte los resultados numéricos de sus cálculos cuando necesita el número que se muestra en palabras?
Si desea poder realizar estas conversiones en su sitio, necesitará un código JavaScript que pueda realizar la conversión por usted. La forma más sencilla de hacer esto es usar el código abajo; simplemente seleccione el código y cópielo en un archivo llamado toword.js.
// Convertir números a palabras
// copyright 25 de julio de 2006, por Stephen Chapman http://javascript.about.com
// se otorga permiso para usar este Javascript en su página web
// siempre que todo el código (incluido este aviso de copyright) sea
// se usa exactamente como se muestra (puede cambiar el sistema de numeración si lo desea)
// Sistema de numeración americano
var th = ['', 'mil', 'millones', 'billones', 'trillones'];
// descomenta esta línea para el sistema de números en inglés
// var th = ['', 'mil', 'millones', 'mil millones', 'mil millones'];
var dg = ['cero', 'uno', 'dos', 'tres', 'cuatro',
'cinco', 'seis', 'siete', 'ocho', 'nueve']; var tn =
['diez', 'once', 'doce', 'trece', 'catorce', 'quince', 'dieciseis',
'diecisiete', 'dieciocho', 'diecinueve']; var tw = ['veinte', 'treinta', 'cuarenta', 'cincuenta',
'sesenta', 'setenta', 'ochenta', 'noventa']; función toWords (s) {s = s.toString (); s =
s.replace (/ [\,] / g, ''); if (s! = parseFloat (s)) devuelve 'no un número'; var x =
s.indexOf ('.'); if (x == -1) x = s.length; if (x> 15) devuelve 'demasiado grande'; var n =
s.split (''); var str = ''; var sk = 0; para (var i = 0; i
sino if (n [i]! = 0) {str + = tw [n [i] -2] + ''; sk = 1;}} else if (n [i]! = 0) {str + =
dg [n [i]] + ''; if ((x-i)% 3 == 0) str + = 'cien'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}} if (x! = s.length) {var y = s.length; str + =
'punto '; para (var i = x + 1; istr.replace (/ \ s + / g, '');}
El último paso es llamar al script para que realice la conversión a palabras por usted. Para convertir un número a palabras, solo necesita llamar a la función pasándole el número que desea convertir y se devolverán las palabras correspondientes.
Tenga en cuenta que esta función puede convertir números tan grandes como 999,999,999,999,999 en palabras y con tantos decimales como desee. Si intentas convertir un número más grande que eso devolverá "demasiado grande".
Los números, comas, espacios y un solo punto para el punto decimal son los únicos caracteres aceptables que se pueden usar para el número que se convierte. Si contiene algo más allá de estos caracteres, devolverá "no un número".