# String auf Zahlen überprüfen



## Germu (17. November 2006)

Hallo,

weiss vielleicht wer eine möglichkeit wie ich überprüfen kann ob in einem String nur Zahlen stehen?

grüsse
Germu


----------



## matdacat (17. November 2006)

Entweder mittels eines regulären Ausdrucks oder du siehst dir an, ob die Konvertierung des String in eine Zahl erfolgreich ist oder nicht.

Die Lösung mittels regulärem Ausdruck ist eleganter:

```
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegExTest {

    public static void main(String[] args){
        
    	String regex = "^\\d+$";
    	String search = "test123";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(search);
        System.out.println(matcher.find());
        
    }
}
```


----------



## Germu (17. November 2006)

Hab mir gedach irgendwie mit Integer.parseInt(blabla) den String zum int zu machen und das dann überprüfen aber mit.

if (Integer.parseInt(blabla) == ) was muss ich den da einsetzten boolean geht ja nicht.

Was besagt den der Reguläre Ausdruck da oben ?

grüsse
Germu


----------



## matdacat (17. November 2006)

Germu hat gesagt.:


> if (Integer.parseInt(blabla) == ) was muss ich den da einsetzten boolean geht ja nicht.


parseInt wirft eine Exception, wenn die Konvertierung nicht funktioniert. Siehe API.



Germu hat gesagt.:


> Was besagt den der Reguläre Ausdruck da oben ?


Der durchsuchte String beginnt und endet mit einer Folge von Ziffern mit einer Länge von mindestens eins.


----------



## Thomas Darimont (17. November 2006)

Hallo!

Schau mal hier:

```
if("123".matches("\\d*")){
      System.out.println("number");
    }
```

Gruß Tom


----------



## Matthias W (10. September 2008)

```
try {
Integer.parseInt("12a3");
} catch (NumberFormatException ex) {
System.out.println("String ist keine Zahl");
}
```

würde auch funktionieren


----------

