1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Auf und Abrunden von Zahlen

Dieses Thema im Forum "Eggdrop Scripting" wurde erstellt von s03ckch3n, 28. Mai 2011.

  1. s03ckch3n

    s03ckch3n New Member

    Guten abend zusammen,

    Gibt es zufällig nen befhel mit denen man zahlen generell abrunden bzw generell aufrunden kann?
    mir ist leider nur der normale round bekannt und ich hab über googel leider nichts anderes finden können... hab ihr da vielleicht eine idee?

    mfg
    die stinkesocke ^^
  2. Xpyder

    Xpyder Active Member c-b Experte

    Naja, soweit ich weiß, rundet in jeder Sprache round die Zahl richtig auf oder ab.
    Mit INT wird in vielen Sprachen der "Integer-Anteil" einer Zahl ermittelt, also der Vorkomma-Teil.

    Ich sag mal, welche Funktionen dafür ich so aus Pascal kenne, vielleicht funktionieren manche davon ja auch bei Dir.

    INT(X)
    Damit wird der Integer-Anteil von X zurückgegeben, allerdings im selben Zahlentyp wie X (d.h. wenn X eine Fließkommazahl war, ist das Ergebnis auch Fließkomma, halt mit Nachkomma =0).

    ROUND(X)
    Damit wird auf- oder abgerundet, das Ergebnis ist immer eine Integer-Zahl. Achtung bei negativen Zahlen!

    TRUNC(X)
    Damit wird immer abgerundet (also auch der Integer-Anteil, wie INT), aber das Ergebnis ist eine Integer-Zahl.

    FRAC(X)
    Gibt den Nachkomma-Anteil einer Zahl zurück (das Ergebnis ist also 0<=Ergebnis<1)

    Dadurch, daß in PASCAL der Wert FALSE auf 0 und TRUE auf 1 gesetzt wird, kann man folgendes machen:

    ERGEBNIS=TRUNC(X) oder ERGEBNIS=INT(X)
    Generell abrunden

    ERGEBNIS=TRUNC(X)+ORD(FRAC(X)<>0) oder ERGEBNIS=INT(X)+ORD(FRAC(X)<>0)
    Generell aufrunden.

    ORD(X) gibt den Ordinal-Wert zurück, im Falls von Booleans (FALSE/TRUE), also 0 oder 1.

    Vielleicht kann man ja in Deinem Fall etwas ähnliches anwenden.
  3. kill4h`

    kill4h` Active Member