Nachkommastellen abschneiden

Plauzi92

Aktives Mitglied
Hallo Community,

ich soll von einem double Wert eine bestimmte Anzahl von Nachkommastellen streichen sodass nur so viele Nachkommstellen über bleiben die von einem Integer Wert vorgegeben werden.

Beispiel double x = 3,123456, int y = 4 -> Ausgabe : 3,1234

Das funktioniert mit meinem Code soweit auch ganz gut. Wenn ich in die Methode allerdings folgende Werte übergebe: double x = 3.12453252452135, int = 9 spuckt er mir als Ergebnis 2.147483647 aus. Kann es etwas mit dem Wertebereich des doubles zu tun haben? Wenn ja, wie löse ich das dann? Die Werte sind vom Prof als Testfälle vorgegeben und bis auf diese beiden klappen auch alle anderen.

Hier mein Code:
Java:
public static double abschneiden(double x, int y) {
        
        
        if (y<0 || y>10)        // Falls y kleiner 0 oder groesser 10 soll Startwert zurueck gegeben werden
            return x;
        
        if (y==0)                 // Sonderfall fuer y = 0
        {
            int u = (int) x;
            x = (double) u;
            return x;
        }
            
            else {
        double z =10;
        
        for (int i =1; i<y; i++) {    // Komma um y Stellen nach rechts verschieben, umwandeln in integer um nachkommastellen zu streichen
                                    // Komma um y Stellen nach links verschieben und x zurueck geben.
            z= z*10;
        }
        
        x = z*x;
        int u = (int) x;
        x = (double) u;
        x=x/z;
        return x;
    }
    }

Würde mich riesig über einen Tipp freuen,
Danke im Voraus :)
 

Plauzi92

Aktives Mitglied
@Robat danke für die schnelle Antwort. Ob wir das nutzen dürfen weiß ich nicht. In der Vorlesung wurde bisher nur Casting von Integers und Doubles behandelt also denke ich mal, dass wir es damit lösen sollen.

@CyborgBeta123 auch dir danke für die Antwort. Ich benutze Integer ja nicht in meiner Rechnung sondern double. Das heißt ich müsste das irgendwie so umschreiben, dass ich mit einem double den Zwischenschritt mit der Verschiebung des Kommas hinbekomme ohne aus dem Wertebereich zu fallen.
 

Plauzi92

Aktives Mitglied
@CyborgBeta123 hatte gerade einen Denkfehler. Du hast Recht :D
Die Lösung hatte ich auch schon im Netz gefunden und die funktioniert auch in der Theorie. Allerdings ist die Funktion nicht erlaubt. Würde auch der Übung den Sinn nehmen.

Das hier ist die Aufgabenstellung:
"Implementieren Sie eine statische-public-Methode mit dem Namen "abschneiden",
welche einen Double-Wert und einen Integer-Wert erhält und einen Double-Wert zurückgibt.
Der eingegebene Double-Wert soll nach der Kommastelle, gemäß des eingegebenen Integer-Wertes, abgeschnitten werden.
Sollte der eingegebene Integer-Wert kleiner als 0 oder größer als 10 sein, dann wird der eingegebene Double-Wert unverändert zurückgegeben.
Verwenden Sie dafür passende Kontrollstrukturen, Operatoren und Typumwandlungen um ihr Ziel zu erreichen.
Bsp: abschneiden(5.216497893, 4) liefert das Ergebnis 5.2164 "
 

Plauzi92

Aktives Mitglied
Ahhhh ich habs.. @CyborgBeta123 du hast es gesagt, ich hab´s gemerkt und dann nicht geändert.. :D Manchmal sieht man den Wald vor lauter Bäumen nicht. Wenn ich mit long rechne passt es.
Danke für die Hilfe Leute :)
 
Ich vermute dennoch, die Aufgabestellung zielt hierauf ab:
Java:
double d = 3.12453252452135;
double d2 = (int) d;
double d3 = 10;
for (int i = 0; i < 9; i++) {
	d  -= (int) d;
	d  *= 10;
	d2 += ((int) d) / d3;
	d3 *= 10;
}
System.out.println(d2);


Wenn ich mit long rechne passt es
Nein, auch long ist manchmal für double zu klein...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Nachkommastellen von Strings Java Basics - Anfänger-Themen 3
krgewb Double mit zwei Nachkommastellen Java Basics - Anfänger-Themen 2
Kotelettklopfer Variablen Double zwingen Ganzzahlen mit 2 Nachkommastellen auszugeben Java Basics - Anfänger-Themen 10
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
F Nachkommastellen erzwingen Java Basics - Anfänger-Themen 2
E Nullen aus Nachkommastellen entfernen Java Basics - Anfänger-Themen 2
V Operatoren Warum kommt bei double bei den Nachkommastellen irgendwann eine 2?! (1.20000000000002) Java Basics - Anfänger-Themen 5
kilopack15 Mehr Nachkommastellen mit double Java Basics - Anfänger-Themen 14
P Zahl genauer als 20 nachkommastellen Java Basics - Anfänger-Themen 4
R Auf Nachkommastellen prüfen. Java Basics - Anfänger-Themen 2
L Nachkommastellen Runden, Problem mit Syntax " }" Java Basics - Anfänger-Themen 2
T long wird ohne Nachkommastellen ausgegeben Java Basics - Anfänger-Themen 5
M Datentypen Double = 0 / Double schneidet Nachkommastellen ab Java Basics - Anfänger-Themen 4
Luk10 Nachkommastellen runden Java Basics - Anfänger-Themen 2
J Summe mit 45 nachkommastellen Java Basics - Anfänger-Themen 8
B Datentypen Float ohne .0 ausgeben, sonstige Nachkommastellen aber erhalten Java Basics - Anfänger-Themen 4
M Erste Schritte Nachkommastellen falsch bei Rechnung Java Basics - Anfänger-Themen 3
V Nachkommastellen begrenzen (1,xxx) Java Basics - Anfänger-Themen 3
G Datentypen Double ausgeben mit minimaler Anzahl Nachkommastellen Java Basics - Anfänger-Themen 3
S Runden eines doubles auf n nachkommastellen Java Basics - Anfänger-Themen 10
M float/double Anzahl Nachkommastellen ermitteln Java Basics - Anfänger-Themen 18
L Double Zahlen und nachkommastellen Java Basics - Anfänger-Themen 5
J Nachkommastellen bei Zahlen Java Basics - Anfänger-Themen 20
M Nachkommastellen vergleichen + Array Hilfe Java Basics - Anfänger-Themen 6
D Ermitteln der Anzahl gleicher Nachkommastellen 2er Zahlen Java Basics - Anfänger-Themen 9
T Runden mit Präzision vs. Runden mit Nachkommastellen Java Basics - Anfänger-Themen 4
D Problem mit Nachkommastellen <%=Double.valueOf(35/1000)%> ergibt 0.0? Java Basics - Anfänger-Themen 3
F (Verständnis)Problem: Zahl auf 2 Nachkommastellen runden Java Basics - Anfänger-Themen 5
N Nachkommastellen auf 2 reduzieren Java Basics - Anfänger-Themen 5
J Runden auf 2 Nachkommastellen ? Java Basics - Anfänger-Themen 5
M JFormattedTextField nachkommastellen beim verlassen prüfen Java Basics - Anfänger-Themen 11
G BigDecimal mit zwei Nachkommastellen darstellen Java Basics - Anfänger-Themen 2
B Double je nach Nachkommastellen kfm runden Java Basics - Anfänger-Themen 7
H Nachkommastellen Java Basics - Anfänger-Themen 43
S Einen double-Wert formatieren auf Nachkommastellen Java Basics - Anfänger-Themen 3
K Anzahl der Nachkommastellen auslesen Java Basics - Anfänger-Themen 3
G Durch Liste iterieren und nachkommastellen runden Java Basics - Anfänger-Themen 9
M Double: Nachkommastellen begrenzen Java Basics - Anfänger-Themen 8
S Regex für Dezimalzahl. Problem mit Nachkommastellen Java Basics - Anfänger-Themen 5
C Nachkommastellen von Doublezahlen Java Basics - Anfänger-Themen 2
D Prüfen ob die Zahl nur bestimmte Nachkommastellen hat Java Basics - Anfänger-Themen 3
F double Nachkommastellen Java Basics - Anfänger-Themen 4
C Runden auf 2 Nachkommastellen klappt nicht||| WARUM Java Basics - Anfänger-Themen 13
T Nachkommastellen beim NumberFormat? Java Basics - Anfänger-Themen 2
G Gleitkommaoperationen - Nachkommastellen begrenzen Java Basics - Anfänger-Themen 2
V Erste Schritte Die Nuller bei double NICHT abschneiden Java Basics - Anfänger-Themen 4
M Double Wert nach n abschneiden ohne zu runden Java Basics - Anfänger-Themen 1
S Datentypen double - kommastellen abschneiden Java Basics - Anfänger-Themen 6
I String abschneiden erste und letzte Zeichen Java Basics - Anfänger-Themen 3
W String von hinten alle drei Zeichen abschneiden und in umgekehrter Reihenfolge ausgeben. Java Basics - Anfänger-Themen 9
M String abschneiden Java Basics - Anfänger-Themen 4
I String (Text) abschneiden Java Basics - Anfänger-Themen 2
M String schließende Nullen abschneiden Java Basics - Anfänger-Themen 2
F Sekunden abschneiden bei Date Java Basics - Anfänger-Themen 4
D String kürzen, nich abschneiden Java Basics - Anfänger-Themen 9
C String ab einem bestimmten Char abschneiden??? Java Basics - Anfänger-Themen 7
-horn- Double nach bestimmter Nachkommastelle abschneiden. Java Basics - Anfänger-Themen 2
E String am ende abschneiden Java Basics - Anfänger-Themen 6
H String bei Textstelle abschneiden Java Basics - Anfänger-Themen 2
M String abschneiden Java Basics - Anfänger-Themen 3
G String ab definiertem Zeichen abschneiden Java Basics - Anfänger-Themen 4
L String "abschneiden" Java Basics - Anfänger-Themen 6
L Automatischen Runden oder Abschneiden? Java Basics - Anfänger-Themen 2
G Dateiendung abschneiden Java Basics - Anfänger-Themen 6
G Werte aus String abschneiden Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben