probleme beim parsen

Status
Nicht offen für weitere Antworten.

MScalli

Bekanntes Mitglied
Hi leutz.
Habe folgendes Problem.
Um Ein JTextField gleich mit den richtigen nachkommastellen zu füllen usw. habe ich ne kleine methode geschrieben in der unter anderem z.B. immer 2 Nachkommastellen...

mal bisschen code um zu wissen was ich meine
zuerst der aufruf:
MyPrepareClass.prepareDecimal(tf_standartpreis, "######0.00", 10, 2);

Code:
		// erst "," durch "." ersetzten und Wert in einer Double Variablen merken
		double merk = Double.parseDouble( ftf.getText().replace(",", ".") );
		System.out.println("merk1 : " + merk);
		
		// jetzt *10^4 rechnen und nach Integer Casten(um nachkommastellen zu entfernen) 
		merk = merk * Math.pow(10,nachkomma);
		int merk_int = (int) merk;
		System.out.println("merk2 : " + merk);
		
		merk = (double) merk_int / Math.pow(10,nachkomma);
		System.out.println("merk3 : " + merk);
		
		// Format festlegen
		DecimalFormat df =   new DecimalFormat  ( vorlage );
		System.out.println("merk4 : " + df.format(merk));
		
		// formatiert zurück schreiben
		ftf.setText(String.valueOf(df.format(merk)).replace(".", ","));
die ausgabe ist wie folgt

merk1 : 1234567.9
merk2 : 1.2345678999999999E8
merk3 : 1234567.89
merk4 : 1234567,89

das heisst.. ich gebe 1234567,9 ein, mache aus dem "," einen punkt um rechnen zu können,
dann wird * 10^nachkommastellen (in diesem fall 2) gerechnet und nach int gecastet

und hier ist der Fehler.. eigentlich müsste hier 123456790 raus kommen

das wird dann / 10^nachkommastellen gerechnet und das wär dann 1234567,90.[/code]
 
S

SlaterB

Gast
int merk_int = (int) merk;
System.out.println("merk2 : " + merk);

du gibts nicht merk_int aus sondern merk, falls das deine Frage ist
 

MScalli

Bekanntes Mitglied
da zeig ich es nur an damit man weiss was passiert..

in dem fall leider nur merk.. und nicht merk_int

also denn so ;)




Code:
		// erst "," durch "." ersetzten und Wert in einer Double Variablen merken
		double merk = Double.parseDouble( ftf.getText().replace(",", ".") );
		System.out.println("merk1 : " + merk);
		
		// jetzt *10^4 rechnen und nach Integer Casten(um nachkommastellen zu entfernen) 
		merk = merk * Math.pow(10,nachkomma);
		int merk_int = (int) merk;
		System.out.println("merk_int : " + merk_int);
		System.out.println("merk2 : " + merk);
		
		merk = (double) merk_int / Math.pow(10,nachkomma);
		System.out.println("merk3 : " + merk);
		
		// Format festlegen
		DecimalFormat df =   new DecimalFormat  ( vorlage );
		System.out.println("merk4 : " + df.format(merk));
		
		// formatiert zurück schreiben
		ftf.setText(String.valueOf(df.format(merk)).replace(".", ","));

eingabe in das JFormattedTexField war 1234567,9

ausgabe ist :

merk1 : 1234567.9
merk_int : 123456789
merk2 : 1.2345678999999999E8
merk3 : 1234567.89
merk4 : 1234567,89

ausgabe sollte aber sein :
1234567,90
 
S

SlaterB

Gast
ok, 89,99999999999
wird zu 89 abgerundet, nicht zu 90,

also entweder noch Math.round() verwenden oder vorher 0.000001 drauaddieren,
jenachdem, wie wichtig der Einfluss des Rechenfehlers gegenüber tatsächlich auftretenden Zahlen mit ,99999999 ist

oder rundungsfrei aber langsamer rechnen mit BigDecimal
 

MScalli

Bekanntes Mitglied
das prob ist es soll NICHT gerundet werden..
deswegen gehe ich diesen umständlichen weg.

wie meinst du das mit BigDecimal???

da bekomm ich doch genau das selbe raus?!?!?
 
S

SlaterB

Gast
mit BigDecimal meine ich BigDecimal, mit BigDecimal zu rechnen, ohne Rundungsfehler,
ich werde keinen weiteren Satz verschwenden den du doch in jedem Lehrbuch nachlesen kannst ;)
 

MScalli

Bekanntes Mitglied
Ich meinte eigentlich wie das dann gehen soll?!?!

erstellen.. OK.. das bekomm ich hin

Code:
BigDecimal bd = new BigDecimal(Double.parseDouble( ftf.getText().replace(",", ".")));


aber das geht ja schon nicht mehr

Code:
bd = bd * Math.pow(10, nachkomma);

ich weiss echt nicht wie und ob ich das verwenden kann!!

Ich mach echt schon seit 3 tagen an den JTextFields bzw JFormattedTextFields rum..
also am zu wenig lehrbuch lesen liegts net ;)
 
S

SlaterB

Gast
ich weigere mich dir hier zu erklären, wie man mit BigDecimals rechnet,
in jedem Lehrbuch oder bei google wirst du 'So rechnet man mit BigDecimal'-Kapitel finden
und dort die simplen Operationen etwa zum Multiplizieren,
genau wie 100 Seiten vorher double * double erklärt wurde

Lesen Lesen Lesen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Input/Output Probleme beim Parsen von CSV und TXT Dateien Java Basics - Anfänger-Themen 7
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
M Erste Schritte Probleme beim Verknüpfen von Methoden Java Basics - Anfänger-Themen 15
A Probleme beim Methodenaufruf von Object[] ! Java Basics - Anfänger-Themen 12
A Probleme beim Methodenaufruf von char[] ! Java Basics - Anfänger-Themen 10
D JTable Probleme beim Sortieren von Zahlen. Java Basics - Anfänger-Themen 6
M OOP Probleme beim Funktionsaufruf, Java OpenCV Java Basics - Anfänger-Themen 0
X Probleme beim rekursiven Durchsuchen von Verzeichnissen Java Basics - Anfänger-Themen 1
B Probleme beim einlesen einer short variablen für einen Array Java Basics - Anfänger-Themen 1
A LinkedList: Probleme beim Auslesen Java Basics - Anfänger-Themen 2
F Probleme beim Übersetzen Java Basics - Anfänger-Themen 7
O Probleme beim import von Projekten in Eclipse Java Basics - Anfänger-Themen 7
C OOP Probleme beim Addieren von Arrays Java Basics - Anfänger-Themen 4
N Probleme beim entfernen eines JPanels Java Basics - Anfänger-Themen 4
J Probleme beim JRadioButton Java Basics - Anfänger-Themen 2
S Klasse properties - Probleme beim umwandeln Java Basics - Anfänger-Themen 3
C Probleme beim Array Java Basics - Anfänger-Themen 6
G Probleme beim HTML auslesen Java Basics - Anfänger-Themen 6
N Probleme beim Rechnen mit Integer und double Java Basics - Anfänger-Themen 4
T Probleme beim casten Java Basics - Anfänger-Themen 9
C Input/Output Probleme beim .jar erstellen Java Basics - Anfänger-Themen 5
M Klassen Probleme beim Debuggen - Datentypkonvertierung - Speichern in Datei Java Basics - Anfänger-Themen 7
W Probleme beim Wiedereinstieg Java Basics - Anfänger-Themen 25
P Interpreter-Fehler Probleme beim Ausführen einer Jar Datei Java Basics - Anfänger-Themen 2
F MVC -> Probleme beim Controller Java Basics - Anfänger-Themen 6
0 Log4J Probleme beim einlesen der Log datei Java Basics - Anfänger-Themen 2
F Probleme beim umwandeln von String in Int Java Basics - Anfänger-Themen 10
M Kontaktbuch - Probleme beim Input Java Basics - Anfänger-Themen 3
H Probleme beim erzeugen einer Headerdatei mit javah Java Basics - Anfänger-Themen 3
T Interpreter-Fehler Probleme beim .jar ausführen mit JRE 64bit Java Basics - Anfänger-Themen 9
M Probleme beim Beenden eines Threads Java Basics - Anfänger-Themen 25
A Probleme beim erstellen einer lauffähigen jar Java Basics - Anfänger-Themen 3
A Probleme beim IntervallCheck Java Basics - Anfänger-Themen 4
M Probleme beim Aufruf von Listener in anderer Klasse Java Basics - Anfänger-Themen 9
R Probleme mit NullPointer beim Mp3 abspielen (JMF) Java Basics - Anfänger-Themen 21
I Probleme beim Laden einer .gif-Datei. Java Basics - Anfänger-Themen 8
I Probleme beim Laden eins BufferedImage Java Basics - Anfänger-Themen 8
Sebi Probleme beim Kompilieren Java Basics - Anfänger-Themen 11
I Probleme beim adden von Elementen in einer ArrayList Java Basics - Anfänger-Themen 10
C Probleme beim casten und Objekt zugriff Java Basics - Anfänger-Themen 12
L Probleme beim Ausführen des Programms Java Basics - Anfänger-Themen 9
N Probleme beim abfangen von fehlern Java Basics - Anfänger-Themen 4
B kleine Probleme beim auslesen einer m3u Datei Java Basics - Anfänger-Themen 3
S Probleme beim Umwandeln von Long nach Int Java Basics - Anfänger-Themen 4
G Probleme beim Zufügen eines JLabels Java Basics - Anfänger-Themen 18
M Probleme beim Jar erstellen Java Basics - Anfänger-Themen 7
M Probleme beim Objekzugriff auf andere Klasse: NullPointerExc Java Basics - Anfänger-Themen 5
I Probleme beim Einrichten von Java (PATH-Veriable) Java Basics - Anfänger-Themen 4
A Memory Probleme beim Laden von thumbnails Java Basics - Anfänger-Themen 3
G Probleme beim Login (Webservice) Java Basics - Anfänger-Themen 4
B Probleme beim Kompilieren. Java Basics - Anfänger-Themen 12
R Probleme beim Repaint Java Basics - Anfänger-Themen 3
M probleme beim applet einbinden Java Basics - Anfänger-Themen 7
L beim ersten compilen schon erste probleme Java Basics - Anfänger-Themen 8
R Probleme beim umwandeln eines String zu einem Int Wert Java Basics - Anfänger-Themen 3
M Probleme beim Datei auslesen Java Basics - Anfänger-Themen 6
M Probleme beim Compileren Java Basics - Anfänger-Themen 29
I Probleme beim ausführen des Programms Java Basics - Anfänger-Themen 6
kulturfenster Probleme beim Erstellen von Objekten Java Basics - Anfänger-Themen 15
kulturfenster Probleme beim Zeichnen einer Geraden Java Basics - Anfänger-Themen 8
S Probleme beim Java Kompilieren + ausführen Java Basics - Anfänger-Themen 6
M probleme beim kompilieren / übersetzen ! Systemeinstellung ? Java Basics - Anfänger-Themen 5
I Probleme beim Ausführen von Anwendungen Java Basics - Anfänger-Themen 2
S Probleme mit Datentyp beim Einlesen Java Basics - Anfänger-Themen 4
I java - probleme beim complimieren Java Basics - Anfänger-Themen 4
L Probleme beim ersten JavaProgramm! Java Basics - Anfänger-Themen 4
P Probleme beim Exportieren einer jar datei Java Basics - Anfänger-Themen 8
M Probleme beim Strich(e) zwichen Java Basics - Anfänger-Themen 3
M Probleme beim Drucken Java Basics - Anfänger-Themen 4
M Probleme beim Zuweisen eines Arbeitsverzeichnis Java Basics - Anfänger-Themen 2
A Probleme beim char-Vergleich! Java Basics - Anfänger-Themen 9
G Probleme beim Compilieren Java Basics - Anfänger-Themen 6
J Probleme beim Vererben Java Basics - Anfänger-Themen 2
B Probleme beim Dateien auslesen Java Basics - Anfänger-Themen 12
C Probleme beim overloaden. Java Basics - Anfänger-Themen 2
W MouseListener Probleme beim Abfangen Java Basics - Anfänger-Themen 8
X probleme beim import Java Basics - Anfänger-Themen 3
S Probleme beim Füllen einer HashMap Java Basics - Anfänger-Themen 15
K Probleme beim Einstieg Java Basics - Anfänger-Themen 2
I Probleme beim Ansprechen eines Arrays Java Basics - Anfänger-Themen 12
T Probleme beim Einlesen eines Strings Java Basics - Anfänger-Themen 3
K Neuronales Netz in Java und Probleme beim Konfigurieren Java Basics - Anfänger-Themen 2
N Probleme beim generieren von Objekten Java Basics - Anfänger-Themen 2
G Unknown Source Probleme beim Starten des Prgramms Java Basics - Anfänger-Themen 2
J probleme beim wieder aufruf Java Basics - Anfänger-Themen 2
J Probleme beim Erstellen eines Programms Java Basics - Anfänger-Themen 5
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben