Division und dann Dezimalstellen runden im Alert-Fenster?
Susanna
- javascript
Hi ich nerve wieder, ich krieg das Gebastel wieder nicht hin. Wie schaffe ich es, in dieser Funktion (sum kommt aus acht Textfeld-Boxen) die Division auf zwei Dezimalstellen hinter dem Komma zu runden?
... Hi Struppi, das ist der zweite Akt zu deiner Hilfe von vorgestern, die Fragebogen-Addition mit den vielen sum-s. You remember?
Schönen Gruß, und danke fürs Helfen. Susanna.
''''''''''''''''''''''''''''''''''''''''''''''''''''''
<script type="text/JavaScript">
function x(f)
{
var ergebnis = 0;
if(!f.sum) return;
for(var i = 0; i < f.sum.length;i++) ergebnis += eval(f.sum[i].value / 244);
alert("Ihr Ergebnis für den Gesamt-Test ist " + ergebnis + ". Bitte lesen Sie die Auswertung.")
}
</script>
'''''''''''''''''''''''''''''''''''''''''''''''''''''
------ aufgerufen wird es durch
<input type="button" value="Gesamtauswertung für den Test" onClick="x(this.form);" name="button">
Hi,
versuchs mal mit:
alert("Ihr Ergebnis für den Gesamt-Test ist " + Math.round(ergebnis, 2) + ". Bitte lesen Sie die Auswertung.")
Gruß
Christian
... Hi Struppi, das ist der zweite Akt zu deiner Hilfe von vorgestern, die Fragebogen-Addition mit den vielen sum-s. You remember?
Ja.
<script type="text/JavaScript">
function x(f)
{
var ergebnis = 0;
if(!f.sum) return;
for(var i = 0; i < f.sum.length;i++) ergebnis += eval(f.sum[i].value / 244);
Es gibt eigentlich nie einen Grund eval zu verwenden.
for(var i = 0; i < f.sum.length;i++) ergebnis += (f.sum[i].value / 244);
tut's auch und ist wesentlich schneller
Zum runden brauchst du parseInt oder round
z.b.
ergebnis = parseInt(ergebnis * 100 + .5) / 100;
Struppi.