Ergebnis 1 bis 5 von 5

Thema: Java - Double auf 2 Nachkommastellen kürzen

  1. #1
    Edelassi Edelassi ist offline

    Java - Double auf 2 Nachkommastellen kürzen

    Hallo,
    Ich habe eine Double-Zahl die mehrere Nachkommastellen hat. Eigentlich soll 45,60 rauskommen (mit den Werten 13, 19, 7.60), mit der Rechnung komme ich auf 45,59999999994. Mit 45,59 könnte ich auch noch leben, aber ich komme einfach nicht drauf wie ich diese Zahl auf 2 Nachkommastelle kürze. Habe ein bisschen gegooglet und komme auf 2 Varianten:

    1. DecimalFormat temp = new DecimalFormat("#0.00"); --- Dies gibt mir aber einen String?! Ausgegeben soll aber ein Double-Wert. Habe versucht den umzuwandeln, aber hier wird mit einem Komma getrennt, Java erwartet aber einen Punkt?!

    2. Math.Round(Variable*100)/100 --- Hier wird mir aber nur 45.0 ausgegeben.

    Code:
        public double rechneGehalt(double von, double bis, double stundenlohn){
            double temp = 0;
            while (von != bis){
                if (von < 20.0){
                    von = von + 0.5;
                    temp = temp + (stundenlohn * 0.5);
                }
                else{
                    von = von + 0.5;
                    temp = temp + (stundenlohn * 0.575);
                }
            }
            return temp;
        }
    (Um die Rechnung selbst gehts nicht, die funktioniert bis jetzt.) Habt ihr noch eine dritte Lösung für mich?

  2. #2
    manuche manuche ist gerade online

    AW: Java - Double auf 2 Nachkommastellen kürzen

    Welche Java-Version benutzt da? Die Klasse NumberFormat hat doch garkeinen Konstruktor mit einem String als Parameter??
    Versuch mal:
    Code:
    double myDouble = 45.59999999994;
    double erg = 0;
    NumberFormat nf = NumberFormat.getInstance();
    nf.setMinimumFractionDigits(2);
    nf.setMaximumFractionDigits(2);
    try{
      String s = nf.format(myDouble);
      Double ergAsObj = new Double (s);
      erg = ergAsObj.doubleValue();
    }catch (NumberFormatException e){
      e.printStackTrace();
    }
    Ist jetzt untested aber könnte funktionieren... ^^

  3. #3
    manuche manuche ist gerade online

    AW: Java - Double auf 2 Nachkommastellen kürzen

    Klar wenn er wirklich runden will ist das das Beste...
    Wenn er "nur" kürzen will fällt mir ehrlich gesagt nichts anderes ein.

  4. #4
    craft craft ist offline

    AW: Java - Double auf 2 Nachkommastellen kürzen

    Eigentlich ist das doch ziemlich simpel, aber auf simple sachen kommt man nicht direkt. Musste auch erstmal probieren und nachdenken.

    Du machst einfach folgendes:

    Code:
    temp = temp * 100;
    temp = Math.round(temp);
    temp = temp / 100;
    Nehmen wir eine Beispielzahl : 7,8899999
    Die nimmst du erst mal 100 = 788,999
    Dann runden = 788.0
    Dann wieder durch hundert teilen = 7,88

    So hast du deine zwei stellen nach dem Komma und kannst damit auch weiterrechnen.

  5. #5
    Unregistriert

    Daumen hoch AW: Java - Double auf 2 Nachkommastellen kürzen

    Danke, das ist echt die beste Lösung die es dafür gibt.

+ Antworten

Ähnliche Themen

  1. Film Am Ende eines viel zu kurzen Tages
    Von TrueValue im Forum Kino & TV Forum
    Antworten: 0
    Letzter Beitrag: 29.08.2012, 20:11
  2. Coding Java Programm<-->Java Applet
    Von Pinzo im Forum Kreative Ecke
    Antworten: 1
    Letzter Beitrag: 26.03.2011, 13:48
  3. kurzen text in spanisch übersetzten(dringend)
    Von NarutoYuki007 im Forum Schule, Studium & Beruf
    Antworten: 13
    Letzter Beitrag: 10.12.2010, 12:31
  4. 'Ne frage an alle die vor kurzen 'ne 360 bekommen haben
    Von Master Chief im Forum Microsoft Xbox 360 Forum
    Antworten: 5
    Letzter Beitrag: 30.12.2008, 20:39
  5. Hatte voreher nen kurzen ROD, muß ich mir sorgen machen
    Von roobiwahn im Forum Microsoft Xbox 360 Forum
    Antworten: 7
    Letzter Beitrag: 17.12.2007, 10:02