Ergebnisse auf 2 Kommastellen runden

Status
Nicht offen für weitere Antworten.

Calimero

Mitglied
Hallo Leute!

Gleich mal vorneweg: ich bin totaler Anfänger und experimentiere gerade mit Schleifen herum. Dabei bin ich auf folgendes Problem gestoßen: Ich möchte Durchschnittswerte berechnen, welche mit zwei Kommastellen ausgegeben werden sollen. Um das Problem zu verdeutlichen, poste ich hier ein simplifiziertes Beispiel in Codeansicht:
Code:
package verschachtelte_schleifen;

public class Float {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int s=18;
		int a=5;
		double d=s/a;
		System.out.println(d);
	}

}

Ich dachte, int-Variablen stehen für ganzzahlige Werte, double- und float-Variablen für Kommazahlen. Jetzt stellt sich für mich die Frage, wieso das Ergebnis (18/5) ganzzahlig ausgegeben wird, obwohl ich 'd' als float- bwz. double-Variable deklariert habe. Wie kann ich mein Ergebnis auf 2 Kommestellen runden?
In meiner Java-Lektüre habe ich hierzu nichts gefunden.

Vielen Dank im Voraus!
 

The_S

Top Contributor
Weil du ein int durch ein int teilst. Ganzzahl durch Ganzzahl gibt Ganzzahl. Du bekommst bei einer Rechnung immer die Genauigkeit, des Datentyps mit der höchsten Genauigkeit zurück. D. h. wenn du ein float als ergebnis möchtest, muss auch eine Variable in der Rechnung ein float sein. Wenn du ein double möchtest, dann muss eine Variable in der Rechnung ein double sein.

Zum Runden kannst du dir mal Math#round anschauen.
 

Calimero

Mitglied
Kling absolut logisch! Das heist, wenn ich Kommazahlen will muss ich von anfang an mit float- bzw. double-Variablen arbeiten. Wie man die Ergebnisse auf zwei Stellen rundet hab ich gerade in Erfahrung gebracht:
import java.math.BigDecimal;
System.out.println(d);
BigDecimal e=new BigDecimal(d);
e=e.setScale(4,BigDecimal.ROUND_HALF_UP);
System.out.println(e);
 

The_S

Top Contributor
Calimero hat gesagt.:
Kling absolut logisch! Das heist, wenn ich Kommazahlen will muss ich von anfang an mit float- bzw. double-Variablen arbeiten.

richtig

Calimero hat gesagt.:
Wie man die Ergebnisse auf zwei Stellen rundet hab ich gerade in Erfahrung gebracht:
import java.math.BigDecimal;
System.out.println(d);
BigDecimal e=new BigDecimal(d);
e=e.setScale(4,BigDecimal.ROUND_HALF_UP);
System.out.println(e);

Auch wenn eine andere Lösung mit Math.round gängiger ist, so gehts auch ;) .
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kennewick Basketball Spiel Ergebnisse Java Basics - Anfänger-Themen 11
A keine Ergebnisse - String nummer in array nummer converting Java Basics - Anfänger-Themen 1
N Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben Java Basics - Anfänger-Themen 23
D Ergebnisse in Arrays ausgeben? Java Basics - Anfänger-Themen 11
S Ergebnisse zwischenspeichern (Analog zu ans-Taste bei Taschenrechnern) Java Basics - Anfänger-Themen 3
A SelectionSort bringt keine konstanten Ergebnisse Java Basics - Anfänger-Themen 4
R StringBounds falsche Ergebnisse Java Basics - Anfänger-Themen 5
V Ergebnisse in 2 Zeilen Java Basics - Anfänger-Themen 4
H String einlesen, in .txt durchsuchen und Ergebnisse ausgeben Java Basics - Anfänger-Themen 22
V ComboBox Ergebnisse abhängig von anderer ComboBox - Wie? Java Basics - Anfänger-Themen 7
N Ergebnisse dynamisch in Tabelle schreiben Java Basics - Anfänger-Themen 3
G unerwartete Ergebnisse beim URL auslesen Java Basics - Anfänger-Themen 2
Strahlungsleck [Erledigt]Ergebnisse des Ausgelesenen Verzweichnis verwerten/benutzen Java Basics - Anfänger-Themen 9
K Ergebnisse auf einem Label anzeigen lassen ? Java Basics - Anfänger-Themen 20
K Verschiebeoperatoren - manchmal falsche Ergebnisse Java Basics - Anfänger-Themen 7
S Ergebnisse einer while Schleife zusammenfassen Java Basics - Anfänger-Themen 4
S integer ergebnisse Java Basics - Anfänger-Themen 6
S Ergebnisse aus statischen Methoden weiterverwenden Java Basics - Anfänger-Themen 5
A Wochentag über SimpleDateFormat bringt wirre Ergebnisse Java Basics - Anfänger-Themen 4
D Ergebnisse als .txt Speichern.wichtig. Java Basics - Anfänger-Themen 47
V Ergebnisse in einer Struktur speichern Java Basics - Anfänger-Themen 4
G Mehrere Ergebnisse ausgeben Java Basics - Anfänger-Themen 3
Torschti Eingabe von Dezimalzahlen (bis zu zwei Kommastellen) Java Basics - Anfänger-Themen 11
M Double Wert auf 2 Kommastellen runden Java Basics - Anfänger-Themen 2
S Datentypen double - kommastellen abschneiden Java Basics - Anfänger-Themen 6
Q Kommastellen hinter double wert entfernen Java Basics - Anfänger-Themen 5
W Double - Kommastellen Java Basics - Anfänger-Themen 3
M Kommastellen verschieben Java Basics - Anfänger-Themen 4
F Kommastellen prüfen Java Basics - Anfänger-Themen 9
H wieder mal Kommastellen Java Basics - Anfänger-Themen 11
I Kommastellen in Zahlen verbieten Java Basics - Anfänger-Themen 11
G Kommastellen erzwingen Java Basics - Anfänger-Themen 5
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
S Runden auf den niedrigsten Wert Java Basics - Anfänger-Themen 10
M Double Wert nach n abschneiden ohne zu runden Java Basics - Anfänger-Themen 1
Z Runden Arraylist Java Basics - Anfänger-Themen 9
A Random Double mit Math.round() runden? Java Basics - Anfänger-Themen 1
J Hilfe beim Runden Java Basics - Anfänger-Themen 4
S Runden von Zahlen Java Basics - Anfänger-Themen 1
J Fehler beim Runden Java Basics - Anfänger-Themen 3
T ungewolltes Runden Java Basics - Anfänger-Themen 5
K Double Wert runden und in Int umwandeln Java Basics - Anfänger-Themen 7
A Kaufmännisches Runden mit BigDecimal Java Basics - Anfänger-Themen 14
K Methoden Integer runden/aufrunden Java Basics - Anfänger-Themen 2
F Zeiteinheit auf ganze Zahl runder runden Java Basics - Anfänger-Themen 4
L Nachkommastellen Runden, Problem mit Syntax " }" Java Basics - Anfänger-Themen 2
J Auf den nächsten Zehner runden? Java Basics - Anfänger-Themen 4
C Nach Berechnung runden und Wert ausgeben Java Basics - Anfänger-Themen 7
A Richtig runden Java Basics - Anfänger-Themen 9
M Double-Zahlen auf Intervalle runden Java Basics - Anfänger-Themen 3
H Runden klappt nicht Java Basics - Anfänger-Themen 10
S Zahlen runden Java Basics - Anfänger-Themen 5
E Runden Java Basics - Anfänger-Themen 2
U Erste Schritte Kommazahl runden Java Basics - Anfänger-Themen 17
K Große Gleitkommazahlen runden Java Basics - Anfänger-Themen 8
Luk10 Nachkommastellen runden Java Basics - Anfänger-Themen 2
S Runden eines doubles auf n nachkommastellen Java Basics - Anfänger-Themen 10
H Zahl auf 2 nachkomma stellen runden Java Basics - Anfänger-Themen 13
M Float auf bestimmte Nachkommazahl runden Java Basics - Anfänger-Themen 3
I Runden / Zweikommastellen geht nicht... Java Basics - Anfänger-Themen 3
J Konvertieren und Runden von double in int Java Basics - Anfänger-Themen 3
H Datentypen Rechnen und Runden Java Basics - Anfänger-Themen 2
O Runden - x/100 liefert long zurück Java Basics - Anfänger-Themen 7
T Runden mit Präzision vs. Runden mit Nachkommastellen Java Basics - Anfänger-Themen 4
J Runden mit printf Java Basics - Anfänger-Themen 3
-horn- Runden auf x-Stellen wirklich nur so umständlich? Java Basics - Anfänger-Themen 9
F (Verständnis)Problem: Zahl auf 2 Nachkommastellen runden Java Basics - Anfänger-Themen 5
Rika Runden Java Basics - Anfänger-Themen 6
F Werte runden Java Basics - Anfänger-Themen 11
N Runden Java Basics - Anfänger-Themen 6
J Runden auf 2 Nachkommastellen ? Java Basics - Anfänger-Themen 5
D runden ohne math! (zur not auch mit) Java Basics - Anfänger-Themen 9
D Einfache Funktion zum kaufmännischen runden Java Basics - Anfänger-Themen 8
J richtig runden Java Basics - Anfänger-Themen 4
B Double je nach Nachkommastellen kfm runden Java Basics - Anfänger-Themen 7
J Runden Java Basics - Anfänger-Themen 4
G divisions ergebnis runden Java Basics - Anfänger-Themen 3
P Runden auf eine Nachkommastelle Java Basics - Anfänger-Themen 18
S Wie runden man noch mal auf bestimmte stellen? Java Basics - Anfänger-Themen 8
S double runden Java Basics - Anfänger-Themen 5
W Runden Java Basics - Anfänger-Themen 10
G Durch Liste iterieren und nachkommastellen runden Java Basics - Anfänger-Themen 9
R Zahl runden Java Basics - Anfänger-Themen 18
M Runden eines Doublewerts auf 13 Zeichen Java Basics - Anfänger-Themen 10
A Runden Java Basics - Anfänger-Themen 5
G Kein Runden Java Basics - Anfänger-Themen 3
R "Kaufmännisch runden" Java Basics - Anfänger-Themen 12
P Automatisch auf die nächst höere zahl runden? Java Basics - Anfänger-Themen 7
F Long umwandeln und auf 2 Dezimalen runden? Java Basics - Anfänger-Themen 14
M runden Java Basics - Anfänger-Themen 9
D Einmal Runden ohne alles Java Basics - Anfänger-Themen 7
P Dezimalstellen limitieren (runden auf 2 Stellen) Java Basics - Anfänger-Themen 3
L Automatischen Runden oder Abschneiden? Java Basics - Anfänger-Themen 2
C Runden auf 2 Nachkommastellen klappt nicht||| WARUM Java Basics - Anfänger-Themen 13
S Double runden funktioniert nicht immer ? Java Basics - Anfänger-Themen 2
O Dezimal in Dual...Arraygröße & Runden Java Basics - Anfänger-Themen 4
A Bestimmt blöde Frage: Zahl runden Java Basics - Anfänger-Themen 10
K Fliesskommawert runden Java Basics - Anfänger-Themen 3
L Runden Java Basics - Anfänger-Themen 2
G Zahlen runden Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben