Auf und Abrunden von Zahlen

#1
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 ^^
 

Xpyder

Well-Known Member
c-b Experte
#2
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.
 
Oben