Created
February 12, 2012 01:16
-
-
Save felquis/1805580 to your computer and use it in GitHub Desktop.
Interpretação de números
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
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