Hi,
ich habe folgenden Code:
Nun möchte ich das totalcost auf 2 Stellen hinter dem Komma gerundet wird. Es müsste 42,83 eigentlich raus kommen.
Aber wenn ich Math.round anwende kommt 42 raus. Warum??
Oder habe ich da einen großen Denkfehler
Dank schon mal im voraus.
ich habe folgenden Code:
Java:
import java.util.ArrayList;
import a1.CartItem;
public class ShoppingCart {
//Konstruktor= Initialisiert den Zustand eines neuen Objekts.
public ShoppingCart(){
myShoppingCart = new ArrayList<Object>(0);
}
//speichern
ArrayList<Object> myShoppingCart;
public void add(CartItem item){
myShoppingCart.add(item);
}
public double getTotalCost(){
double total=0.0;
for(int i=0;i<myShoppingCart.size();i++){
CartItem test = (CartItem) myShoppingCart.get(i);
total += test.pricePerUnit * test.quantity;
}
return total;
}
public String toString(){
String _return = "";
double totalcost=0;
for(int i=0;i<myShoppingCart.size();i++){
_return = _return+" "+myShoppingCart.get(i)+"\n";
}
totalcost += getTotalCost();
return _return+"\nSumme:\t\t\t\t\t"+totalcost ;
}
}
Nun möchte ich das totalcost auf 2 Stellen hinter dem Komma gerundet wird. Es müsste 42,83 eigentlich raus kommen.
Aber wenn ich Math.round anwende kommt 42 raus. Warum??
Java:
totalcost += getTotalCost();
return _return+"\nSumme:\t\t\t\t\t"+Math.round(totalcost*100)/100 ;
Oder habe ich da einen großen Denkfehler
Dank schon mal im voraus.
Zuletzt bearbeitet von einem Moderator: