zum Jahreswechsel noch eine kleine Freude:
zwischendurch passiert folgendes:
Code: Alles auswählen
IF oUmsatz:nGegeben < oUmsatz:nSumme
lErfolg := .F.
ENDIF
Aber natürlich nicht immer und bei bestimmten Werten, sondern nur mal so zwischendurch.
Moderator: Moderatoren
Code: Alles auswählen
IF oUmsatz:nGegeben < oUmsatz:nSumme
lErfolg := .F.
ENDIF
Code: Alles auswählen
x := 1.45
y := 1.45
? x < y // Antwort .F.
? 2.90 < x+y // Antwort .F.
x := (x/9)*9
? x // Antwort 1.45
? x < y // Antwort .T. !!!
? Str(x,19,9) // Antwort 1.450000000
Code: Alles auswählen
lErfolg := IF(Str(x,19,9)<Str(y,19,9),.T.,.F.)
Das muß es nicht, finde ich. Die zugrundeliegende Frage ist interessant und manch einem bereits begegnet, aber manch ein anderer hat sich möglicherweise noch überhaupt keine Gedanken darüber gemacht, schleppt aber dieserart einen Haufen potentieller Bugs mit sich herum. Deshalb ist nichts falsches oder peinliches daran, sie zu stellen.Ist mir alles peinlich.....
Ach wenn das Leben nur so einfach wäre aber auch unnötige Arbeit kann das Ergebnis verpfuschenManfred hat geschrieben:Aber bei einfachen Additionen, darf sowas nicht passieren. Es wird weder geteilt, noch multipliziert, noch gibt es irgendeinen Rest, der gerundet wird. Es bleibt bei 1,45 + 1,45 + 3,32 und das ergibt nach meinem Verständnis 6,22 und sonst nichts.