Portal > Foren > Java > Allgemeine Java-Programmierung > Wie kann man aus einem String von Zahlen erkennen, dass es sich um Zahlen handelt?
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 14.01.2006, 16:02 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 14.01.2006
Beiträge: 2
Standard Wie kann man aus einem String von Zahlen erkennen, dass es sich um Zahlen handelt?

Hallo Leute!

Ich will nicht viel erzählen. Ich komme am besten gleich zur Sache:
Wenn ich einen String habe, z.B "1234" und dann mit substring(0,1) hole ich
mir das erste Zeichen. Wie kann ich abfragen, ob es sich hier um eine Zahl
handelt oder nicht. Gibt es hierfür in Java eine Funktion?

Würde mich über Antworten freuen.
Danke!

Alex
coolex ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.01.2006, 17:23 Nach oben    #2
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 426
Standard

Code:
String s
for(int i = 0; i < s.length();i++){
   if((int)s.getCharAt(i) > (int)'0' && ((int)s.getCharAt(i) < (int)'9'){
       System.out.print(s.getCharAt(i));
   }
}
So müsste es gehen... So bekommst du alle zahlen aus dem String. Das heißt, dass auch zahlen rauskommen, die durch buchstaben getrennt sind.
z.B.: 156df87d121 würde dann 15687121 heißen.
Xean ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.01.2006, 18:53 Nach oben    #3
Erfahrener Benutzer
 
Benutzerbild von karahead
 
Registriert seit: 23.11.2005
Ort: Stadtallendorf
Beiträge: 139
Standard

geht auch einfacher:

Code:
String s = "1234cvb4321";
for(int i=0; i<s.length; i++){
  Character c = s.getCharAt(i);
  System.out.println(Character.isDigit(c));
}
wenn c eine Zahl ist dann wird true ausgegeben, andernfalls false.
__________________
Die Menschen wünschen sich Unsterblichkeit, aber wissen nichts anzufangen an einem verregneten Sonntag Nachmittag.
karahead ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.01.2006, 20:31 Nach oben    #4
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 426
Standard

dann ist die frage auch, für was man es verwendet, denn wenn coolex dann die zahl in ein integer umwandeln will, dann ist meine besser. Wenn coolex nur wissen will, OB eine Zahl in dem String ist ist natürlich deine besser..
Xean ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.01.2006, 22:03 Nach oben    #5
Erfahrener Benutzer
 
Benutzerbild von karahead
 
Registriert seit: 23.11.2005
Ort: Stadtallendorf
Beiträge: 139
Standard

Wieso kann man in meiner Variante den char nicht in eine Zahl umwandeln?
Code:
int dig = (int) c;
Sollte doch prima den Zahlenwert des Zeichens ausgeben.

Oder versteh ich was falsch
__________________
Die Menschen wünschen sich Unsterblichkeit, aber wissen nichts anzufangen an einem verregneten Sonntag Nachmittag.
karahead ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.01.2006, 22:32 Nach oben    #6
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 426
Standard

Das ist richtig, nur wenn du int dig = (int) c; benutzt, denn wird wenn c = '1' ist, dann müsste, wenn ich mich nicht irre, dig = 31 sein. Wenn du aber
int dig = Integer.parseInt("" + c); dann bekommst du die richtige zahl zurück.
Oder meintest du was anderes??
Xean ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.01.2006, 23:11 Nach oben    #7
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

Code:
int dig = c - '0';
*pfeif*
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 00:38 Nach oben    #8
Erfahrener Benutzer
 
Benutzerbild von karahead
 
Registriert seit: 23.11.2005
Ort: Stadtallendorf
Beiträge: 139
Standard

@Xean
Ne ich hab's falsch verstanden.
Naja Pago ist mir zuvorgekommen und hat ja schon gezeigt wie man es elegant lösen kann
__________________
Die Menschen wünschen sich Unsterblichkeit, aber wissen nichts anzufangen an einem verregneten Sonntag Nachmittag.
karahead ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.01.2006, 10:01 Nach oben    #9
Neuer Benutzer
 
Registriert seit: 14.01.2006
Beiträge: 2
Standard

Vielen Dank.
Xeans Lösung ist eigentlich das, was ich gesucht. Die funktioniert einwandfrei. nur habe ich statt "getCharAt " ein einfaches charAt genommen.
coolex ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei Verarbeitung von Templates (Eigene Klassen) dago PHP-Programmierung 21 31.08.2006 16:02
Symbolklassen festlegen anna Allgemeine Java-Programmierung 2 12.11.2005 11:30
Datei einlesen. cyberdevil87 Allgemeine Java-Programmierung 3 27.06.2005 09:22
Access Anbindung unter Linux mit Java ? kampet Datenbanken 5 25.04.2005 08:43
string in teilbereiche zerteilen!? Niki_Tesla Allgemeine Java-Programmierung 10 14.02.2005 09:11


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:43 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44