double wert auf 2 kommastellen runden?

Status des Themas:
Es sind keine weiteren Antworten möglich.

Diskutiere double wert auf 2 kommastellen runden? im Java Basics - Anfänger-Themen Forum; Hallo kann mir bitte jemand sagen wie man einen double wert auf 2 kommastelln runden? also ein wert wie 23.46422500555 auf 23.46

  1. dTP
    dTP Neues Mitglied
    Hallo
    kann mir bitte jemand sagen wie man einen double wert auf 2 kommastelln runden?

    also ein wert wie 23.46422500555 auf 23.46
     
  2. Vielleicht hilft dir das kostenlose Training weiter --> (hier klicken)
  3. Griffin
    Griffin Neues Mitglied
    Eine Methode kenne ich jetzt nicht. (Müsste es aber eigentlich geben)
    Rechne doch einfach:
    Code (Text):

    gerundet = Math.round(deineZahl * 10) / 10;
     
     
  4. dTP
    dTP Neues Mitglied
    also ich hab das so gemacht:
    es werden aber trotzdem alles stellen ausgegeben

    double fl=0.0;
    fl = ((Math.pow(radius,2) * Math.PI)*100);
    Math.round(fl);
    fl /= 100;
    return fl;
     
  5. L-ectron-X
    L-ectron-X Gesperrter Benutzer
    Ich habe das mal so für ein anderes Programm vor langer Zeit gelöst. Es ist sicher nicht der eleganteste Code, funktioniert dafür aber vollständig.
    Code (Text):
        //auf zwei Stellen nach dem Komma runden
        public double rundeBetrag(double betrag)
        {
          double round = Math.round(betrag*10000);
          round = round / 10000;
          round = Math.round(round*1000);
          round = round / 1000;
          round = Math.round(round*100);
          return round / 100;
        }
     
  6. bygones
    bygones Guest
  7. Kerberus
    Kerberus Neues Mitglied
    Und sonst verwende diese Methode :)
    Code (Text):

    public double round(double zahl, int stellen) {
      return (double) ((int)zahl + (Math.round(Math.pow(10,stellen)*(zahl-(int)zahl)))/(Math.pow(10,stellen)));
    }
     
     
  8. dTP
    dTP Neues Mitglied
    also ich hab das durchgesehn aber leider nichts gefunden
    könntest du mir vielleicht ein kurzes Bsp zeigen?
     
  9. bygones
    bygones Guest
    Code (Text):
    double d = 2.3445635634567;
    NumberFormat n = NumberFormat.getInstance();
    n.setMaximumFractionDigits(2); // max. 2 stellen hinter komma
    System.out.println(n.format(d));
     
  10. L-ectron-X
    L-ectron-X Gesperrter Benutzer
    OK, das schneidet aber nur die Ziffern bis auf zwei Stellen nach dem Komma ab.
    Fehlt immer noch die Rundung. Oder sehe ich das falsch?
     
  11. meez
    meez Neues Mitglied
    Rundet der Numberformater eigentlich?
    Ich denke er schneidet "nur" die vorigen Stellen ab...
    ???:L



    EDIT: Mist zu langsam...:D
     
  12. bygones
    bygones Guest
    nicht ganz richtig:
    Code (Text):
    double d1 = 2.3415635634567;
    double d2 = 2.3495635634567;
    NumberFormat n = NumberFormat.getInstance();
    n.setMaximumFractionDigits(2);
    System.out.println(n.format(d1));
    System.out.println(n.format(d2)););
     
    Ausgabe:
    Code (Text):
    2,34
    2,35
     
  13. L-ectron-X
    L-ectron-X Gesperrter Benutzer
    Klasse! :toll: Wieder was gelernt.
     
  14. meez
    meez Neues Mitglied
    dito...:D
     
  15. friedolin
    friedolin Neues Mitglied
    Hallo,

    mit der folgenden Methode möchte ich Var bmi auf eine NachkommaZahl gerundet wiedergeben.
    Das ausgeben auf der Konsole klappt auch, nur kann ich diesen Wert
    keiner Variablen zuweisen. Wenn ich die Zeile
    Code (Text):
    //bmiGerundet = n.format(bmi);
    nicht auskommentiere bekomme ich einen
    "incompatible types"-Fehler, bei compilieren im JCreator,
    auf genau diese Zeile, kann mir da jmd helfen?

    Code (Text):
    private double BMIBerechnen(){

            double groessem, bmi, bmiGerundet;
           
            groessem = groesse / 100;
            bmi = gewicht / (groessem * groessem);

            NumberFormat n = NumberFormat.getInstance();
            n.setMaximumFractionDigits(1); // max. 2 stellen hinter komma
           
            System.out.println(n.format(bmi));
            //bmiGerundet = n.format(bmi);
           
            return bmi;
                   
        }
     
  16. mic_checker
    mic_checker Neues Mitglied
    Afaik gibt format() einen String zurück, aber du weisst es nem double zu.
    Musst also schauen das du das noch in Double parst.
     
  17. friedolin
    friedolin Neues Mitglied
    Vielen Dank, daran lags.

    Da ich den Wert später jedoch noch benötige, muss ich ihn als double haben.

    Mit
    double dBmi = Double.parseDouble(strBmi);

    komm ich hier nur leider nicht weiter, wahrscheinlich weil
    ein Komma im String vorkommt. Gibts dafür ne Lösung...?
     
  18. mic_checker
    mic_checker Neues Mitglied
    Wird NumberFormatException ausgelöst oder was?
    Normalerweise müsste er mit "." ja keine Probs haben - bei "," wird wahrscheinlich besagte Exception ausgelöst.
     
  19. Guest
    Guest Guest
    Ja, habs grad getestet. Es kommt zu einer NFE:

    Code (Text):
            try{
                double konBmi = Double.parseDouble(strBmi);
            }
            catch(NumberFormatException nfe){
                System.out.println("nfe");
            }
    Was kann ich da machen?
     
  20. Bleiglanz
    Bleiglanz Gesperrter Benutzer
    Locale berücksichtigen (Deutsch)

    java.util.text anschauen

    DecimalFormat ...
     
  21. Schau dir jetzt hier den Kurs an und lerne Java zu programmieren: --> Hier klicken, um mehr zu erfahren (Klick)
Die Seite wird geladen...

double wert auf 2 kommastellen runden? - Ähnliche Themen

JComboBox feste double Werte zu ordnen
JComboBox feste double Werte zu ordnen im Forum Java Basics - Anfänger-Themen
Teile eines Double-Wertes verändern
Teile eines Double-Wertes verändern im Forum Allgemeine Java-Themen
Double Wert runden und in Int umwandeln
Double Wert runden und in Int umwandeln im Forum Java Basics - Anfänger-Themen
Double Wert auf 2 Kommastellen runden
Double Wert auf 2 Kommastellen runden im Forum Java Basics - Anfänger-Themen
Double Wert aus String zu int
Double Wert aus String zu int im Forum Java Basics - Anfänger-Themen
Status des Themas:
Es sind keine weiteren Antworten möglich.
Thema: double wert auf 2 kommastellen runden?