PDA

View Full Version : [Java] Come faccio a sapere se un stringa è un numero??


Mazza2
12-06-2005, 14:45
c'è un metodo apposito?? oppure mi tocca fare alla vecchia provando un casta a numero e beccando l'eccezione?????


mi serve tutto ciò in quanto devo distringuere che tipo di tasti ha premuto l'utente, se tasti numerici, tasti "normali" come le lettere o simboli di punteggiatura, oppure i tasti funzione tipo f1, f2, ins, canc etc..

Alvaro Vitali
12-06-2005, 17:12
io credo che dovrai andare con la castata :D :

/*
* @desc Check if a String contain an Integer.
*
*/
public static boolean isInt(String str) {

try{
int iCheck = Integer.parseInt(str);
return true;
}
catch(NumberFormatException e) { return false; }

}

Mazza2
12-06-2005, 17:12
up! urgente pls :cry:

Mazza2
12-06-2005, 17:14
cioè abbiamo postato nello stesso istante :D ,.,. sicuri che non ci siano metodi già pronti???

Falcon_DAoC
12-06-2005, 19:01
Basta che guardi il codice ascii del carattere che analizzi: se il codice ASCII in decimale è tra 48 e 57 (compresi gli estremi), allora è un numero :p
Cmq se devi analizzare i tasti premuti dall'utente penso che utilizzi la KeyListener, se è così guarda un po' i metodi e gli attributi di questa classe che ce ne sono un po' che potrebbero fare al caso tuo ;)

theClimber
12-06-2005, 20:04
Perche' usare il codice ASCII direttamente? ci sono metodi gia' pronti... :read:

La classe java.lang.Character ha un simpatico metodo isDigit(char ch), che ti gestisce sia caratteri ASCII che eventualmente di altri encoding (anche se non penso che il supporto delle cifre Sanscrite/devanagari sia utilissimo in questo caso :D )

Nella stessa classe ci sono funzioni analoghe anche per le lettere (isLetter)

Ciao

Falcon_DAoC
12-06-2005, 20:43
E anche oggi ho imparato qualcosa di nuovo, la prox volta uso questi metodi :p

Mazza2
13-06-2005, 07:48
Perche' usare il codice ASCII direttamente? ci sono metodi gia' pronti... :read:

La classe java.lang.Character ha un simpatico metodo isDigit(char ch), che ti gestisce sia caratteri ASCII che eventualmente di altri encoding (anche se non penso che il supporto delle cifre Sanscrite/devanagari sia utilissimo in questo caso :D )

Nella stessa classe ci sono funzioni analoghe anche per le lettere (isLetter)

Ciao


sei grande! :cool: