Wie kann ich bei Java, in einer Eingabe das "." (bei Kommazahlen) erkennen?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Also wenn du wirklich nur einen Fehler ausgeben lassen willst, kannste mit "contains" prüfen, ob ein bestimmtes Zeichen im String enthalten ist.

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#contains(java.lang.CharSequence)

Bsp.:

public static void main(String[] ARGS){
    String test = "2.3";
    double testDouble;
    if(test.contains(",")){
        System.out.println("Bitte einen Punkt zur Trennung nutzen");
    }else{
        testDouble=Double.parseDouble(test);
    }
}

Falls du es direkt ersetzen willst, haste ja schon einen Hinweis von PerfectMuffin ^^

Jedoch ist das Problem, dass man bei der Eingabe immer darauf achten muss, ein "." anstatt eines "," zu verwenden.

Dieses Problem ist leicht zu lösen. So verwendet Dein Programm den Dezimaltrenner, der auf dem System konfiguriert ist:

String input = "3,14159";
NumberFormat nf = NumberFormat.getInstance(
                       Locale.getDefault() );
double pi = nf.parse(input);
System.out.println("π=" + nf.format(pi));

Und formatierte Ausgabe geht so:

System.out.printf(Locale.getDefault(), "π=%8.5f", pi);

Die passenden Importe und die genaue Dokumentation findest Du selbst.