Bei der eingabe eines bruttowertes wird der nettowert berechnet, da kommen manchmal sehr hohe kommazahlen raus,
wie kann ich die auf 2 stellen abrunden?
>>das ist die Eingabe:
BufferedReader eingabe1=new BufferedReader (new InputStreamReader(System.in));
System.out.println("Geben Sie den Bruttobetrag ein: ");
str= eingabe1.readLine();
brutto = Double.parseDouble(str);
>>und das die Berechnung:
netto= brutto-brutto/100*16;
steuer=brutto/100*16;
Anfänger Bittet um Hilfe, danke im vorraus
mfg Marius.
da die methode math.round() nur auf eine ganzzahl runden, musst du einen kleinen trick anwenden:
double brutto = 1234.56 ;
double netto ;
netto = brutto / 1.2 ;
netto = Math.round(netto * 100)/100.0 ;
also zuerst mal 100 multiplizieren, was die beiden relevanten nachkommastellen vor das komma verschiebt. dann runden - du erhältst dabei einen long-value zurück. den kannst du dann durch 100 dividieren, um die 2 nachkommastellen wieder an die richtige position zu verschieben. sicherheitshalber durch 100.0 dividieren und nicht durch 100, da der compiler sonst eine ganzzahl-division durchführt und deine nachkommastellen erst wieder weg sind.
wenn du ganz schlau bist, schreibst du dir eine kleine hilfsklasse, die solche aktionen als static methods zur verfügung stellt - wenn du das häufig brauchst, ist es einfacher zu programmieren. wenn du die klasse zum schluss noch als final deklarierst, optimiert der compiler ohnehin die methodenaufrufe weg und du hast damit keine performanceeinbussen durch die vielen methodenaufrufe.
erwin
Mit hilfe von javax.text.DecimalFormat kann man ein Format für die Zahlen Definieren das 2 Nachkommastellen hat und für die Ausgabe verwendet wird.
Abgesehen davon ist die Formel für die Berechnung des Nettospreise falsch
es muß
Netto = Brutto / 1.16 oder besser (100 * Brutto) / (100 + mwst) lauten
Thomas
wenn du wie ich in österreich wohnen würdest, würdest du wissen, dass meine formel bei einer bestimmten betrachtungsweise doch stimmt 
leider sind für uns 16% ust noch nicht realität…
aber du hast schon recht, dein zweiter ansatz ist natürlich viel besser - ich wollte ja auch nur eine rasche abhilfe für das problem bieten und nicht akademisches vorzeigebeispiel.
erwin
danke
danke, der Vorschlag von Herrn Rockenbauer hat mir sehr geholfen, hat super geklappt