Re: funktion ob ergebnis ganzzahl ist
Verfasst: Sonntag 15. Januar 2012, 18:18
Andererseits ginge vielleicht auch das hier:Im Übrigen solte man erwähnen, dass floating point Zahlen so verglichen werden sollten:wobei EPSILON passend gewählt werden muss. Entsprechend würde der Code zum Testen von Ganzzahligkeit etwa so aussehen:Auch das kann allerdings in die Hose gehen, wenn EPSILON falsch gewählt wurde.
Code: Alles auswählen
import math
def is_integerish(x):
return math.floor(x) == math.ceil(x)
Code: Alles auswählen
EPSILON = ... # hier bitte ein hinreichend kleines float zuweisen
def feq(x, y):
return abs(float(x)-float(y)) < EPSILON
Code: Alles auswählen
def is_integerish(x):
return feq(x, math.floor(x)) or feq(x, math.ceil(x))