tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
713
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Mikka Mikka ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Fulda
    Beiträge
    13
    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
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    *100/100;
    Was bezweckst Du damit? Rundung auf ganze Zahlen?

    Versuchs mal so:
    PHP-Code:
     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ß
    .
    Geändert von Datic (30.12.04 um 12:38 Uhr)
     

  3. #3
    Mikka Mikka ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Fulda
    Beiträge
    13
    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.
     

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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-Code:
    var erg = (int(zahl1 zahl2 100) / 100).toString();
    if (
    erg.indexOf(".") == -1erg += ".";
    while (
    erg.indexOf(".") >= erg.length 2) {
        
    erg += "0";

    So bekommst Du immmer genau 2 Nachkommastellen.

    Gruß
     

  5. #5
    Mikka Mikka ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Fulda
    Beiträge
    13
    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
     

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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ß
    .
     

  7. #7
    Registriert seit
    Jun 2003
    Ort
    München
    Beiträge
    287
    @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
     

  8. #8
    Mikka Mikka ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Fulda
    Beiträge
    13
    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
     

  9. #9
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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ß
    .
     

  10. #10
    Mikka Mikka ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Fulda
    Beiträge
    13
    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
     

  11. #11
    Mikka Mikka ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Fulda
    Beiträge
    13
    Zitat Zitat von Datic
    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-Code:
    var erg = (int(zahl1 zahl2 100) / 100).toString();
    if (
    erg.indexOf(".") == -1erg += ".";
    while (
    erg.indexOf(".") >= erg.length 2) {
        
    erg += "0";

    So bekommst Du immmer genau 2 Nachkommastellen.

    Gruß
    Hallo Datic,
    ich rechne mit diesem Code und da kommt bei 7.10 mal 3 jetzt 21.29 heraus.
    Bei anderen Zahlen stimmts mal, manchmal auch nicht.
    Was kann das sein: Wie bekomme ich als Ergebnis 21.30?
    Danke -ich hoffe, Du kannst mir nochmal helfen!
    Gruss Mikka
     

  12. #12
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Ahh... Rundungsfehler!

    Machs mal so:
    PHP-Code:
    var erg = (Math.round(zahl1 zahl2 100) / 100).toString(); 
    Gruß
    .
     

  13. #13
    Mikka Mikka ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Fulda
    Beiträge
    13
    Hi Datic,
    perfekt!
    Danke Dir vielmals
    Mikka
     

Ähnliche Themen

  1. Hilfe! Unerklärlicher Fehler im Fotoarchiv, sind meine Aufnahmen noch zu retten?
    Von EnricoX im Forum Fotografie & Digitalfotografie
    Antworten: 6
    Letzter Beitrag: 03.03.11, 10:19
  2. Wo ist meine Taskleiste geblieben?
    Von Itallian im Forum Office-Anwendungen
    Antworten: 7
    Letzter Beitrag: 17.05.06, 14:08
  3. HILFE - meine Vers sind futsch
    Von theonlyandy im Forum PHP
    Antworten: 3
    Letzter Beitrag: 29.11.03, 19:43
  4. Wo sind die Arabisch-Vokalzeichen in Word2000 geblieben?
    Von Founder im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 06.11.03, 14:01
  5. Meine JPG-Dateien sind futsch ! HILFE !
    Von tremper im Forum Microsoft Windows
    Antworten: 21
    Letzter Beitrag: 30.10.02, 22:48