Java printf(Locale.... funktioniert nicht

Matt_Hias

Neues Mitglied
Hallo,

ich lerne gerade Java und verwende Visual Studio Code, ja ich weiss es gibt Eclipse und Intelli aber ich arbeite auch mit Mikrocontrollern und möchte nicht noch mehr Programme auf dem Rechnern haben.
Zum Problem:
Mit. import java.until.locale; System.out.printf(Locale.US, "%.2f", testzahl);
kann normalerweise aus dem Komma in der Zahl ein Punkt zur Trennung der Nachkommastellen gemacht werden.
Warum funktioniert das in VS Code (maven java) nicht?

Gruss Matthias
 
Wie kommst du darauf, dass das nicht funktioniert?
... und was für ein Komma? In Java werden Nachkommastellen mit einem Punkt getrennt.

Hier mein Test in VSCode:
Java:
import java.util.Locale;

public class Test {

    public static void main(final String[] args) {

        double testzahl = 2000.543D;
        System.out.printf(Locale.US, "%.2f", testzahl);
    }
}
VSCode als IDE ist i.O., obwohl es manchmal etwas ungewohnt ist.
 
Evtl. verwendest du ursprünglich gar keine Zahl sondern Text.
Java:
import java.text.NumberFormat;
import java.util.Locale;

public class Test {

    public static void main(final String[] args) throws Exception {

        double testzahl = 2000.543D;
        System.out.printf(Locale.US, "Zahl formatiert: %.2f%n", testzahl);

        // evtl. verwendest du ursprünglich gar keine Zahl sondern String!
        String text = "123,456";
        System.out.println("Text: " + text);
        testzahl = NumberFormat.getInstance(Locale.GERMANY).parse(text).doubleValue();
        System.out.println("Zahl unformatiert: " + testzahl);
        System.out.printf(Locale.US, "Zahl formatiert: %.2f%n", testzahl);
    }
}
 
Hallo,

danke für die Mühe , aber wie aus heiterem Himmel hat es dann doch funktioniert. Ich verwendete Zahlen kein Text. Wenn ich nachkommastellen habe werden die bei printf mit einem Komma ausgegeben und ich wollte nicht das ich es bräuchte des lernen wegens eine Ausgabe mit Punkt.

Gruß Matthias
 

Zurück
Oben