Hilfe wo sind meine Nullen geblieben

Mikka

Grünschnabel
Hallo Leute,
ich hoffe, mir kann jemand helfen. Mein Script lautet:

on (release) {
ergebnis_txt=(awert_txt*bwert_txt)*100/100;
}
Wenn awert_txt 7.00 und bwert_txt 5.00 ist kommt 35 heraus. Ich brauche aber ein Ergebnis mit 2 Nullen, also 35.00!
Habe überall herumgelesen, aber noch keine Lösung gefunden.
Mas mache ich denn falsch?
Danke und Gruss
Mikka
 
Hi,

Was bezweckst Du damit? Rundung auf ganze Zahlen?

Versuchs mal so:
PHP:
 ergebnis_txt = int(awert_txt * bwert_txt) + ".00";
- wenn ein String herauskommen soll. Dabei solltest Du awert_txt und bwert_txt (wenn das Strings sind) vorher explizit in numerische Werte (z.B. mit parseInt) umwandeln - ich dachte bisher, nur PHP führt Rechenoperationen mit Strings durch, die Zahlen enthalten...

Gruß
.
 
Zuletzt bearbeitet:
Hi Datic,
danke vielmals für schnelle Antwort.
Ich arbeite mit actionscript imFlash.
Möchte eben immer das Ergebnis mit zwei Stellen hinter dem Komma herausbekommen. Wenn ich 2 mal 2 multipliziere soll 4.00 herauskommen statt 4 und bei 2 mal 2.50 eben 5.00 und nicht 5.
 
Hi,

ja, das ist mir soweit klar. Zahlen (also z.B. int oder float) enthalten aber nicht unbeding Kommastellen, wenn keine da sind. Ich muss also wissen, ob Du als Ausgabe einen String oder einen numerischen Wert benötigst. Wenn Du lediglich mit ganzen Zahlen arbeitest, kannst Du mein Beispiel nehmen. Wenn aber auch z.B. 4.5 herauskommen könnte, und Du dann eben 4.50 brauchst, musst Du das "per Hand" anfügen:
PHP:
var erg = (int(zahl1 * zahl2 * 100) / 100).toString();
if (erg.indexOf(".") == -1) erg += ".";
while (erg.indexOf(".") >= erg.length - 2) {
    erg += "0";
}
So bekommst Du immmer genau 2 Nachkommastellen.

Gruß
 
Hallo Datic,
ich habe zB. zwei Zwischensummen, die sich aus den Berechnungen
on (release) {
zwsumme1_txt = int(awert_txt*bwert_txt)+".00";
}
und
on (release) {
zwsumme2_txt = int(cwert_txt*dwert_txt)+".00";
}
ergeben.
Mit
on (release) {
endsumme_txt = zwsumme1+zwsumme2;...(Weiss micht ob das richtig wäre)
}
möchte ich dann die Ensumme berechnen. Dabe sollen eben immer zwei Stellen hinter dem Komma sein, egal was sdie Ausgangswerte sind.
Ich hoffe, Du kannst mir da helfen.
Gruss Mikka
 
Also nochmal:
zwsumme2_txt = int(cwert_txt*dwert_txt)+".00";
Damit erhälst Du einen String! und wenn Du zwei Strings addierst:
endsumme_txt = zwsumme1+zwsumme2
-erhälst Du bestenfalls etwas wie "5.007.00" - und das willst Du bestimmt nicht. Speichere Deine Ergebnisse also zusätzlich als Zahlen und wandele sie nur für die Anzeige in den Textfeldern in Strings um - dazu verwendest Du das kleine Script, das ich zwei Beiträge weiter oben gepostet habe.

Gruß
.
 
@Mikka

Nur so für's Verständnis:

Strings verketten und rechnen nicht! So ist z.B. "1"+"1" = 11 im Gegensatz zu 1+1=2

Ich hab da auch immer noch Probleme mit, wann ist es was, und vor allem warum... ;)

Gruss
 
Hi Datic,
danke Dir vielmals
So gehts und mein Problem ist gelöst.
Aber irgendwie ist Actionscript nicht so toll zum rechnen...
thx auch an Budman
Gruss Mikka
 
Sorry für [offtopic], aber mir fällt spontan außer Hirn und vielleicht FORTRAN kaum etwas ein, was besser zum Rechnen geeignet wäre als ActionScript... ^^

Gruß
.
 
Oh Datic,
Du hast ganz recht- Da spielte eine Menge Frust mit und ich nehme das zu 100% zurück
Nochmals danke und ein gutes Jahr 2005.
Mikka
 
Zurück