[Java] 2 Nachkommastellen runden bei Java

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von FLiFLu, 27. Oktober 2009 .

Schlagworte:
  1. 27. Oktober 2009
    2 Nachkommastellen runden bei Java

    Sers leute ich hab ein problem ich soll alle Preise die ich ausgeben will das sind brutto , netto und mwst jeweils mit zwei nachkommastelle ausgeben

    Hier mein Code:

    public class Rabatte {

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

    double rabatt, brutto, netto, mwst, nettorund;
    int temp, temp1;
    java.util.Scanner Iscan = new java.util.Scanner(System.in);
    System.out.println("Bitte geben sie den Brutto betrag ein:");
    brutto = Iscan.nextDouble();
    if (brutto >= 100)
    rabatt = brutto * 0.25;
    else
    rabatt = 0;
    brutto -= rabatt; // ist das gleiche wie brutto= brutto-rabatt;
    System.out.println("Der Bruttopreis(Rabatt einberechnet) beträgt: "
    + brutto);

    netto = brutto * 0.81;

    System.out.println("Der Nettopreis beträgt: " + netto);

    mwst = brutto - netto;
    System.out.println("Die mwst beträgt: " + mwst);

    /*
    nettorund = ((netto * 100)+0.5);
    temp = (int)nettorund;
    temp1 = temp / 100 ;
    System.out.println(temp1);
    */



    das letzte war ein versuch der aber nicht richtig klappt das was ausgeklammert ist...

    kann mir bitte jemand helfen und vllt bisi erklären danke BW DRINNE!
     
  2. 27. Oktober 2009
    AW: 2 Nachkommastellen runden bei Java

    Code:
    double d = 1,23456789;
    DecimalFormat df = new DecimalFormat("0.00");
    String zahl = df.format(d);
    
    System.out.println("Mwst mit 2 Nachkommastellen: " + zahl);
    
    bitteschoen
    Für weitere infos schau dir in der api
    das hier an.

    Greetz Jojo
     
  3. 27. Oktober 2009
    AW: 2 Nachkommastellen runden bei Java

    Einfacher Trick:

    Math.Round(Variable*100)/100
     
  4. 27. Oktober 2009
    AW: 2 Nachkommastellen runden bei Java

    Geht auch. Wobei wenn er die Zahl nur ausgeben muss, finde ich die Loesung über
    DecimalFormat schoener.

    Greetz
     
  5. 27. Oktober 2009
    AW: 2 Nachkommastellen runden bei Java

    schöner?

    länger, komplizierter, resourcenverschwendend wären die passenden Adjektive
     
  6. 27. Oktober 2009
    AW: 2 Nachkommastellen runden bei Java

    Ich finde die Lösung von jojo2502 eleganter.
    Die Klasse ist zum verwenden da und dein "einfacher Trick" mag für dich praktisch sein, aber wenn du im Team arbeitest kommt vielleicht nicht gleich jeder drauf was du damit bezwecken willst. Finde ich gleichzusetzen mit "Magic Numbers". Hier ist das Beispiel vielleicht zu trivial aber, ich finde den Stil nicht elegant. Zumal wie gesagt nicht auf den ersten Blick ersichtlich ist was du damit bezwecken willst. Dahingegen wird bei jojo2502 sofort klar was der Code macht.
     
  7. 27. Oktober 2009
    AW: 2 Nachkommastellen runden bei Java

    Naja ich programmiere in Java eigentlich nur aus Zwang, normalerweise mag ich solch einen voll objektorientierten Schrott nicht. Java ist sowieso schon sau langsam, dann sollte man wenigstens schauen, dass man nicht für jede noch so triviale Bearbeitung ein eigenes Objekt instanziert. Notfalls schreibt man noch //runden dazu und die sache ist erledigt.

    Aber wenn du ein Team hast, dass diese einfache math.round(x*100)/100 Code zeile nicht versteht, dann solltest du dir dringend bessere Programmierer anschaffen, sonst wird das Projekt nichts
     
  8. 27. Oktober 2009
    AW: 2 Nachkommastellen runden bei Java

    unterschrieben !!!

    damit es nicht ganz so offtopic wird:

    public static final double rundeAufZweiStellen(double wert)
    {
    return Math.Round(Variable*100)/100;
    }

    das sollten viele verstehen.
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.