Übungsaufgabe

Status
Nicht offen für weitere Antworten.

clemens86

Mitglied
Hi erstmal...
totale Newbfrage: Ich soll bei einem Zinsprogramm auf zwei Stellen runden...
Alles kein Problem, aber die Floatvariable, die ich benutze, gibt manchmal einen Cent weniger aus.
Ich hab das schon mal in TP gemacht, da war das dann auch ganz einfach...
aber in Java fehlt mir halt ab und zu der Cent.
Was nu? Was könnt? :autsch:
 
S

SlaterB

Gast
yippee, 300 Seiten lesen oder ein kleiner Hinweis:
in Java muss man beim Runden vorsichtig sein,
nicht generall abrunden, da float-Berechnungen ungenau sind:

5 minus 4 = manchmal 0.999999999
 

clemens86

Mitglied
danke, aber wie kann ich die Ungenauigkeiten unterbinden?
(Ich hab erst eine Vorlesung Java gehabt, also habt Mitleid)
 

Wildcard

Top Contributor
Nicht nur in Java, sondern auf allen Systemen mit endlichem Speicher (i.e. alle) und nicht nur beim Runden.
Als Programmierer sollte man verstehen wie Fließkommazahlen funktionieren. Wem genannter Link zu ausführlich ist, dem empfehle ich die seichtere Lektüre der Wikipedia.
 
S

SlaterB

Gast
z.B. Math.round(),
hängt davon ab, was genau für Rechnungen du unternimmst
 

Marco13

Top Contributor
SlaterB hat gesagt.:
5 minus 4 = manchmal 0.999999999

Na DAS nun gerade nicht - diese Zahlen können ja zum Glück noch GENAU dargestellt werden. Erst bei Zahlen mit Nachkommastellen oder bei großen Zahlen wird's kritisch.
 

Wildcard

Top Contributor
Doch, Fließkommazahlen sind dein Problem. Du musst dir überlegen welche Rechnung du durchführst und dann einen Datentyp wählen der deinen Anforderungen entspricht.
 

clemens86

Mitglied
OK... Folgende Berechnung:


euro=In.readFloat();
eurozins=(Math.round(euro*zins))/100.00f;
euro+=eurozins;

Im Grunde funktioniert das Programm.
Problem ist nur, ich geb es ab, und dann möchte ich schon ein annehmbares Ergebnis haben. :)
 

Wildcard

Top Contributor
Hängt natürlich davon ab was du tun möchtest.
Für eine Übungsaufgabe dürfte doppelte Genauigkeit (also double statt float) genügen.
Wenn du's 100% korrekt haben möchtest, musst du die speziellen Rundungsvorschriften für Geldbeträge beachten und zB BigDecimal verwenden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Laufzeitfehler bei Übungsaufgabe Java Basics - Anfänger-Themen 4
jonathanpizza Hilfe bei einer Übungsaufgabe Java Basics - Anfänger-Themen 6
K Rundbeet Übungsaufgabe Java Basics - Anfänger-Themen 3
J Hilfe bei Übungsaufgabe Java Basics - Anfänger-Themen 17
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
H Übungsaufgabe Java Basics - Anfänger-Themen 21
K Übungsaufgabe... Verständnisproblme (java 8.191) Java Basics - Anfänger-Themen 4
H Polynome Übungsaufgabe uni Java Basics - Anfänger-Themen 49
H Übungsaufgabe algorithmen Java Basics - Anfänger-Themen 2
L Übungsaufgabe zu Schleifen Java Basics - Anfänger-Themen 7
H Frage zu Übungsaufgabe, Array Java Basics - Anfänger-Themen 7
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
T Übungsaufgabe abstrakte Klasse Java Basics - Anfänger-Themen 21
B Hilfe bei Übungsaufgabe von Freitagsrunde Java Basics - Anfänger-Themen 5
B Übungsaufgabe Java Basics - Anfänger-Themen 5
M Übungsaufgabe Problem Java Basics - Anfänger-Themen 6
N Übungsaufgabe aus Java Buch bringt Fehler. Java Basics - Anfänger-Themen 10
B Übungsaufgabe zu Klassen, Methoden ... Java Basics - Anfänger-Themen 2
K Methoden Uhr als Übungsaufgabe Klassen/Objekte Java Basics - Anfänger-Themen 3
S Verständnisproblem einer Übungsaufgabe Java Basics - Anfänger-Themen 6
J Hilfe bei Übungsaufgabe Java Basics - Anfänger-Themen 5
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
U Erste Schritte Fehler in Übungsaufgabe Java Basics - Anfänger-Themen 22
W Übungsaufgabe:Dynamische Datenstrukturen Java Basics - Anfänger-Themen 10
pg1337 Übungsaufgabe für Anfänger Java Basics - Anfänger-Themen 26
N Übungsaufgabe mit static Wert Java Basics - Anfänger-Themen 27
P Datentypen Frage zu einer Übungsaufgabe Java Basics - Anfänger-Themen 15
N Übungsaufgabe mit Interface Java Basics - Anfänger-Themen 2
F Schleifen Übungsaufgabe Java Basics - Anfänger-Themen 4
A Übungsaufgabe lösen - Problem mit true und false Java Basics - Anfänger-Themen 6
D Schiedermeier 1. Semester Übungsaufgabe Problem Java Basics - Anfänger-Themen 8
R Problem bei Übungsaufgabe Java Basics - Anfänger-Themen 7
M Hilfe bei Übungsaufgabe :'( nooby Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben