screamboy14 Geschrieben 20. September 2011 Geschrieben 20. September 2011 hallo ich habe folgendes rpg Problem ich habe auf der i5 ein notenprogramm geschrieben wo unter anderen der notendurchschnitt berechnet werden soll mit 1ner Nachkommerstelle allerdings zeigt das programm zwar den durchschnitt an rundet diesen aber nicht bsp aus 2,45 wird 2,4 anstatt 2,5 meine frage: gibt es für das freeformat eine Runden methode ? Zitieren
baphomet Geschrieben 20. September 2011 Geschrieben 20. September 2011 dann schreib in deinem Programm doch die entsprechende routine zum runden, ab 5 soll er +0.1 rechnen, brauchst keine runden Funktion, da müsstest multiplizieren und wieder dividieren weil du ja auf die erste Zahl hinter dem Komma runden möchtest, ist verbunden mit Trennung von Vorkommateil und Nachkommateil und das nimmt alles Ressourcen weg, kostet mehr Rechenzeit Zitieren
WWetterwachs Geschrieben 20. September 2011 Geschrieben 20. September 2011 Gibts in diversen Variationen. Hier mal das Referenzhandbuch. Downloaden und auf Stick speichern. http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/c0925084.pdf Zitieren
WWetterwachs Geschrieben 20. September 2011 Geschrieben 20. September 2011 dann schreib in deinem Programm doch die entsprechende routine zum runden, ab 5 soll er +0.1 rechnen, brauchst keine runden Funktion, da müsstest multiplizieren und wieder dividieren weil du ja auf die erste Zahl hinter dem Komma runden möchtest, ist verbunden mit Trennung von Vorkommateil und Nachkommateil und das nimmt alles Ressourcen weg, kostet mehr Rechenzeit Nein eigentlich nicht. eval(h) durchschnitt = Notensumme/notenzahl liefert direkt das gewünschte resultat. Zitieren
ExAzubi Geschrieben 20. September 2011 Geschrieben 20. September 2011 Wie bereits Wwetterlachs sagte eval(h) res = 1/2 Im Free würde ich es so machen result = %dech(Zahl / zahl:5:1) hie kannst du halt explizit angeben bis auf wieviele Nackommastellen du runden willst. Zitieren
WWetterwachs Geschrieben 21. September 2011 Geschrieben 21. September 2011 (bearbeitet) Und da die Hausaufgabe jetzt eh gelöst ist, noch Vollständigkeitshalber. Das h im eval(h) und im dech bezeichnet das "half adjustment". btw : beide Wege funktionieren im free(eval ist ein free command), wobei ExAzubis der elegantere und schönere Weg ist, obwohl es genaugenommen eine Aufbereitung - also Konvertierung - eines berechneten Ergebnisses darstellt. Ich liebe BIFs Bearbeitet 21. September 2011 von WWetterwachs Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.