equals("Zahlen")?

S

SlaterAB

Gast
Moin, ist es möglcieh eine if anweisung zu schreiben die überprüft ob es sich bei dem PArameter um eine beliebige Zahl handelt und dann die if anweisung ausführt??
 

Michael...

Top Contributor
So z.B.:
Java:
		if("....".matches("\\d+")){
			//...
		}
Java:
String textDerEigentlichEineZahlIst = "1234";
if(textDerEigentlichEineZahlIst.matches("\\d+")) {
    System.out.println("Der String ist eine Zahl");
}
matches arbeitet mit regulären Ausdrücken oder kurz RegEx.
Dieser hier funktioniert nur für positive ganze Zahlen
 

hemeroc

Bekanntes Mitglied
Ich würde es wohl so machen

Java:
public boolean isInteger(String possibleInteger) {
	try {
		Integer.parseInt(possibleInteger);
	} catch(NumberFormatException numberFormatException) {
		return false;
	}
	return true;
}

geht natürlich analog mit anderen Datentypen (Double, Long, Float) soll es beliebig lang sein dürfen empfehle ich einen BigDecimal.

LG Hemeroc
 
S

SlaterAB

Gast
Leider handelt es sich dabei um ein String Object und da funktionieren leider eure Methoden nicht
 

Landei

Top Contributor
Die einzig "sichere" Methode, die ich kenne, ist den String tatsächlich mit Double (oder was auch immer erwartet wird) zu parsen, und natürlich die NumberFormatException abzufangen. Ist zwar nicht hypsch, aber immer noch besser, als eine nichtfunktionierende Lösung. Übrigens könnte Project Coin obige Lösungen nachträglich kaputtmachen, wenn z.B. plötzlich Unterstriche in Zahlen erlaubt sind.
 

Oben