Muitas programação envolve cálculos com números, e você pode formatar facilmente os números para exibição adicionando vírgulas, decimais, sinais negativos e outros caracteres apropriados, dependendo do tipo de número.
Mas você nem sempre está apresentando seus resultados como parte de uma equação matemática. A Web para o usuário geral tem mais a ver com palavras do que com números, portanto, às vezes, um número exibido como um número não é apropriado.
Nesse caso, você precisa do equivalente ao número em palavras, não em numerais. É aqui que você pode encontrar dificuldades. Como você converte os resultados numéricos dos seus cálculos quando precisa do número exibido em palavras?
Se você quiser fazer essas conversões no site, precisará de um código JavaScript que possa fazer a conversão. A maneira mais simples de fazer isso é usar o código abaixo; basta selecionar o código e copiá-lo para um arquivo chamado toword.js.
// Converter números em palavras
// copyright 25 de julho de 2006, por Stephen Chapman http://javascript.about.com
// é concedida permissão para usar esse Javascript em sua página da web
// desde que todo o código (incluindo este aviso de direitos autorais) seja
// usado exatamente como mostrado (você pode alterar o sistema de numeração, se desejar)
// Sistema de numeração americano
var th = ['', 'mil', 'milhão', 'bilhão', 'trilhão'];
// remova o comentário desta linha para o sistema de números em inglês
// var th = ['', 'thousand', 'million', 'milliard', 'billion'];
var dg = ['zero', 'um', 'dois', 'três', 'quatro',
'cinco', 'seis', 'sete', 'oito', 'nove']; var tn =
['dez', 'onze', 'doze', 'treze', 'quatorze', 'quinze', 'dezesseis',
'dezessete', 'dezoito', 'dezenove']; var tw = ['vinte', 'trinta', 'quarenta', 'cinquenta',
'sessenta', 'setenta', 'oitenta', 'noventa']; função toWords (s) {s = s.toString (); s =
s.replace (/ [\,] / g, ''); if (s! = parseFloat (s)) retorna 'não é um número'; var x =
s.indexOf ('.'); if (x == -1) x = s.length; se (x> 15) retornar 'muito grande'; var n =
s.split (''); var str = ''; var sk = 0; para (var i = 0; i
else 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 + = 'cem'; sk = 1;} if ((x-i)% 3 == 1) {if (sk)
str + = th [(x-i-1) / 3] + ''; sk = 0;}} if (x! = comprimento s) {var y = comprimento s; str + =
'ponto '; para (var i = x + 1; istr.replace (/ \ s + / g, '');}
A etapa final é chamar o script para realizar a conversão em palavras para você. Para converter um número em palavras, basta chamar a função que passa por ele, o número que deseja converter e as palavras correspondentes serão retornadas.
Observe que esta função pode converter números tão grandes quanto 999.999.999.999.999 em palavras e com quantas casas decimais você desejar. Se você tentar converter um número maior que isso retornará "muito grande".
Números, vírgulas, espaços e um único período para o ponto decimal são os únicos caracteres aceitáveis que podem ser usados para o número que está sendo convertido. Se ele contiver algo além desses caracteres, retornará "não um número".