# Zahlen kaufmännisch runden und ausgeben



## eklis (26. August 2010)

Hallo,

ich möchte die gerundeten Zahlen wieder als kaufmännisch Zahl ausgeben.
z.B: 5215.00 - jetzt bekomme ich aber 5215

oder 5215.3 anstatt 5215.30

Was fehlt an diesem Script?
Außerdem würde ich gerne die Zahlen bei der Ausgabe wieder formatieren z.B:.    5 215.30 EUR
obwohl ich vorher im Script die Leerzeichen und Buchstaben rausgenommen haben.

function rechnen() {
  var kaufpreis = document.getElementsByName("kaufpreis")[0].value;
  kaufpreis = kaufpreis.replace(/[^0-9,.]/g, "");
  var grunderwerbsteuer = document.getElementsByName("grunderwerbsteuer")[0].value;
  var ergebgrund1 = kaufpreis*1 * grunderwerbsteuer*1 * 0.01;
*var ergebgrund = (Math.round(ergebgrund1 * 100) / 100).toString();*
  document.getElementsByName("ergebgrund")[0].value = ergebgrund;
}


----------



## rd4eva (26. August 2010)

> ich möchte die gerundeten Zahlen wieder als kaufmännisch Zahl ausgeben.


toFixed() sollte dir weiterhelfen.



> kaufpreis*1 * grunderwerbsteuer*1 * 0.01;


Warum rechnest du hier zwei mal *1 ?
Du hast ausserdem in Kaufpreis Punkte und Kommas erlaubt, was dazu führen kann das die Berechnung nicht functioniert und javascript NaN ( not a number ) ausspuckt.



> var ergebgrund = (Math.round(ergebgrund1 * 100) / 100).toString();


toString() ist an der Stelle eigentlich unnötig.
Das brauchst du nur wenn du String-Methoden auf die Variable anwenden willst.


----------

