View Full Version : [Java] Come faccio a sapere se un stringa è un numero??
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; }
}
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
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:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.