Skip to content

Instantly share code, notes, and snippets.

@felquis
Created February 12, 2012 01:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save felquis/1805580 to your computer and use it in GitHub Desktop.
Save felquis/1805580 to your computer and use it in GitHub Desktop.
Interpretação de números
/*
A intenção disso é só escrever números inteiros, em sua forma 'textual?', então 300 ele transforma em ‘trezentos’ e 15 deveria transformar em 'quinze'
Esse script foi uma ideia inicial, só para entenderem a finalidade do código, no final disso tudo, deveremos fazer as seguintes ações com esse script.
Capacidade de traduzir números inteiros para sua forma textual, e capacidade de transformar números de sua forma textual para forma inteira, não sei se estou usando as palavras certas mas creio que da pra entende.
Ou seja:
Duzentos e Trinta e Cinco => 235
254 => Duzentos e Cinquenta e Quatro
Qual a finalidade disso? Não sei ainda, quem sabe uma calculadora que soma números falados usando a ferramenta speech-to-text do webkit?
seria uma aplicação interessante, ou nem tanto, mas que precisaria de algo desse gênero.
PS: Ignore os erros ortográficos no script abaixo.
*/
Numeros = {
// 1
'0' : {
'1' : 'um',
'2' : 'dois',
'3' : 'três',
'4' : 'quatro',
'5' : 'cinco',
'6' : 'seis',
'7' : 'sete',
'8' : 'oito',
'9' : 'nove'
},
// 2
'1' : {
'1' : {
'1' : 'onze',
'2' : 'doze',
'3' : 'treze',
'4' : 'quatorze',
'5' : 'quinze',
'6' : 'dezeseis',
'7' : 'sezessete',
'8' : 'dezoito',
'9' : 'dezenove'
},
'2' : 'vinte',
'3' : 'trinta',
'4' : 'quarenta',
'5' : 'cinquenta',
'6' : 'sessenta',
'7' : 'setenta',
'8' : 'oitenta',
'9' : 'noventa'
},
// 3
'2' : {
'1' : 'cento',
'2' : 'duzentos',
'3' : 'trezentos',
'4' : 'quatrocentos',
'5' : 'quinhentos',
'6' : 'seis centos',
'7' : 'sete centos',
'8' : 'oito centos',
'9' : 'nove centos'
},
// 4
'3' : {
'1' : 'mil',
'2' : 'dois mil',
'3' : 'três mil',
'4' : 'quatro mil',
'5' : 'cinco mil',
'6' : 'seis mil',
'7' : 'sete mil',
'8' : 'oito mil',
'9' : 'nove mil'
}
}
// Numero a ser convertido
var Num = 9825,
// Numero em versão string
Str = Num.toString(),
// Numero em versão array invertida
Array = Str.toString().split('').reverse(),
// Para armazenar o resultado
result = [],
// Para usar dentro do loop
novoNumero = '';
// Pegamos cada número, usando, a posição que se encontra no número e seu valor.
for(var i = 0; i < Str.length; i++){
novoNumero = Numeros[i][Array[i]];
result.push(novoNumero);
}
// É mais ou menos isso
alert(Num + ' é ' + result.reverse().join(' '));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment