Bom dia pessoal, estou com a seguinte dúvida: Preciso diferenciar um número inteiro e real, estou a usar vírgula para isso. Segue o que eu tenho feito:
if (Character.isDigit(AtualCaracter)) { // Vai verificar se o caracter digitado é um número ou nao
int contador = Posicao;
Token = "";
do { // Faça enquanto ele for número
AtualCaracter = EntradaCodigoFonte.charAt(contador);
Token = Token + AtualCaracter;
contador++; //Vai encrementando.
} while (contador < EntradaCodigoFonte.length() && (Character.isDigit(EntradaCodigoFonte.charAt(contador))));
// Vai voltar a posicao que foi dada a mais.
Posicao = contador - 1;
SaidaCodigoFonte = SaidaCodigoFonte + "Linha" + Linha + "- 26 Inteiro: " + Token + "\n";
TextoAreaSaida.setText(SaidaCodigoFonte);
} else {
char seguinte = EntradaCodigoFonte.charAt(Posicao + 1);
if (seguinte == ',') {
SaidaCodigoFonte = SaidaCodigoFonte + "Linha" + Linha + "- 4 Real: " + Token + "\n";
TextoAreaSaida.setText(SaidaCodigoFonte);
}
}
Quando digito 18,5 o resultado é:
Linha1- 26 Inteiro: 18
Linha1- 34 Operador : “,”
Linha1- 26 Inteiro: 5
Até aí está certo, mas precisava que no fim ele dissesse que é um número real, daí pensei em criar uma variável com o nome “seguinte” e colocar a vírgula na posição +1, encontrando a vírgula e em seguida outro número daria o que eu quero, foi o que eu pensei, mas não está a dar certo.
Alguém ajuda.
Valeu. Abraços.