DecimalFormat in Zahlenformat für Währung, habe 7,99, bekomme aber 7

internet

Top Contributor
ich versuche gerade eine CSV einzulesen und möchte einen Währungsbetrag bei mir als BigDecimal umwandeln...

Das Problem ist, dass ich einen Wert von 7,99 habe, aber 7 rausbekomme... Ich möchte natürlich ebenfalls 7,99 haben:

Java:
        String paymentAmount = "7,99";
        DecimalFormat df = new DecimalFormat("#0.00");
        DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();

        dfs.setGroupingSeparator(".");
        dfs.setDecimalSeparator(",");
        df.setDecimalFormatSymbols(dfs);
    
        Number n = df.parse(paymentAmount);
        BigDecimal numberPaymentAmount = new BigDecimal(n.toString());

Number n = df.parse(paymentAmount); ist 7

Ich bin mir nicht sicher, ob das Format stimmt: #0.00 ?
Wo liegt der Fehler?

Danke für die Hilfe
 

LimDul

Top Contributor
Aus dem bauch heraus, probier mal:
df.setParseBigDecimal(true) - dann kannst du das Ergebnis von parse auch direkt einem BigDecimal zuweisen.
 

internet

Top Contributor
Wie meinst du das genau?
Habe das versucht:

Java:
        df.setParseBigDecimal(true);
        Number n = df.parse(paymentAmount);
        BigDecimal numberPaymentAmount = new BigDecimal(n.toString());

das zB geht nicht:
Java:
BigDecimal n = df.parse(paymentAmount);

auch das nicht:
Java:
BigDecimal n = (BigDecimal) df.parse(paymentAmount);
-> bekomme hier 7 raus


Edit... habe es glaube ich. Habe den Tausendertrenner mit dem Dezimaltrenner vertauscht... . vs ,
 

LimDul

Top Contributor
Java:
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.ParseException;

public class TestFormat {

    public static void main(String[] args) throws ParseException {
        String paymentAmount = "7,99";
        DecimalFormat df = new DecimalFormat("#0.00");
        DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();

        dfs.setGroupingSeparator('.');
        dfs.setDecimalSeparator(',');
        df.setDecimalFormatSymbols(dfs);
        df.setParseBigDecimal(true);

        BigDecimal parse = (BigDecimal)df.parse(paymentAmount);
        System.out.println(parse);

    }

}
Ausgabe: 7.99

Dein Code oben kompiliert nicht, die setSeparator Methoden erwarten ein char und keinen String - dementsprechend muss dein echter Code anders aussehen.
 

Oneixee5

Top Contributor
Das Vorgehen scheint mir reichlich umständlich zu sein. Es geht doch darum Text im deutschen Zahlenformat zu parsen.

Java:
        final var paymentAmount = "7,99";
        final var format = NumberFormat.getInstance(Locale.GERMAN);
        final var parsed = format.parse(paymentAmount);
        final var value = BigDecimal.valueOf(parsed.doubleValue());
        System.out.printf("test result is %b", value.equals(BigDecimal.valueOf(7.99D)));
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J java.text.DecimalFormat Java Basics - Anfänger-Themen 5
P DecimalFormat Java Basics - Anfänger-Themen 5
A DecimalFormat und wissenschatliche (Potenz-)Schreibweise Java Basics - Anfänger-Themen 6
V Tausender Trennzeichen DecimalFormat & NumberFormat Java Basics - Anfänger-Themen 8
H DecimalFormat mit BigDecimal? Java Basics - Anfänger-Themen 6
N Methoden Decimalformat variabel einstellen Java Basics - Anfänger-Themen 18
L DecimalFormat InputStringException Java Basics - Anfänger-Themen 5
H DecimalFormat Java Basics - Anfänger-Themen 6
C DecimalFormat-Patern funktioniert ab 11 Stellen nicht mehr Java Basics - Anfänger-Themen 3
D Datentypen Double 2 stellen hinter dem Komma ausgeben OHNE decimalformat Java Basics - Anfänger-Themen 2
L DecimalFormat - wo ansetzen? Java Basics - Anfänger-Themen 4
S DecimalFormat deutsche Trennzeichen. Java Basics - Anfänger-Themen 4
R Decimalformat mit Aufzählung von 1 bis 100 Java Basics - Anfänger-Themen 2
I kleines problemchen bei DecimalFormat Java Basics - Anfänger-Themen 6
G Problem mit DecimalFormat Java Basics - Anfänger-Themen 3
D komme heute mit dem DecimalFormat nicht klar... Java Basics - Anfänger-Themen 2
J String Formatieren DecimalFormat oder wie? Java Basics - Anfänger-Themen 4
B Zahlenformat Java Basics - Anfänger-Themen 20
0 Reguläre Ausdrücke bzw. Zahlenformat im String Java Basics - Anfänger-Themen 7
T Apache POI (Excel) - Probleme mit Zahlenformat Java Basics - Anfänger-Themen 2
S Zahlenformat für unendliche Brüche? Java Basics - Anfänger-Themen 7
L Zahlenformat POI Java Basics - Anfänger-Themen 4
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 10
G Icon für App Java Basics - Anfänger-Themen 1
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
Ostkreuz Counter für Booleanwerte Java Basics - Anfänger-Themen 8
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
M generate Methode für Streams Java Basics - Anfänger-Themen 6
I Datenmodell für "Tags" Java Basics - Anfänger-Themen 6
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
K Spieleidee gesucht für Informatikprojekt - JAVA (BlueJ)? Java Basics - Anfänger-Themen 15
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
javamanoman Java für Online Banking Java Basics - Anfänger-Themen 12
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
I SQL / JPA Query für StartDate und EndDate Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
Fats Waller Farben mixen für den Hintergrund ? Java Basics - Anfänger-Themen 1
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
N Api nur für Textdatein (.txt) Java Basics - Anfänger-Themen 2
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
R Ist Java das Richtige für mich? Java Basics - Anfänger-Themen 4
E Mittelquadratmethode für Hexadezimalzahlen Java Basics - Anfänger-Themen 1
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
S BubbleSort für ArrayLists Java Basics - Anfänger-Themen 3
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
L Konzept für Quiz Java Basics - Anfänger-Themen 33
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
L loop für Namen Java Basics - Anfänger-Themen 11
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
S Fehler bei Code mit SubStrings für mich nicht auffindbar. Java Basics - Anfänger-Themen 4
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
I Entity erstellen, die für API gedacht ist Java Basics - Anfänger-Themen 33
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
Kanaska Datentyp für Zahlenbereiche Java Basics - Anfänger-Themen 7
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben