Deine Berechnungen stossen an die Grenze der möglichen maximalen Genauigkeit des Programms.Hat jemand eine Erklärung für dieses merkwürdige Verhalten?
Gruß
Stephan
Moderator: Moderatoren
Deine Berechnungen stossen an die Grenze der möglichen maximalen Genauigkeit des Programms.Hat jemand eine Erklärung für dieses merkwürdige Verhalten?
Stimmt nicht ganz.In Zelle B1 stehtund angezeigt wird 1 (obwohl ja eigentlich auf 0 gerundet werden sollte).Code: Alles auswählen
=RUNDEN(A1)
Mit anderen Worten:OIpenOffice.org Hilfe hat geschrieben: RUNDEN
Rundet eine Zahl auf eine festgelegte Anzahl von Nachkommastellen.
Syntax:
RUNDEN(Zahl; Anzahl)
Rundet die Zahl auf die Anzahl der Nachkommastellen. Wenn Anzahl leer oder Null ist, rundet die Funktion auf die nächste Ganzzahl. Wenn Anzahl negativ ist, rundet die Funktion zur nächsten 10, 100, 1000, etc.
Diese Funktion rundet auf die nächstgelegene Zahl.
Code: Alles auswählen
=RUNDEN(A1;1)
Da stimme ich dir zu. Das verhalten läßt sich reproduzieren, und ich finde auch dass das ein Fehler ist.d.h. es sieht so aus, als würde Calc 0.499999999999999
und 0.5 als gleich ansehen.
Dann nimm doch nicht RUNDEN, sondern z.B. ABRUNDEN und zwar wie folgt.Da ich die Daten (um sie mit anderen vergleichen zu können) auf 9 Stellen runden möchte,
machte ich die Eingabe mit =RUNDEN(...) und da taucht dann dieser seltsame Fehler auf,
das sollte eigentlich nicht sein...
Code: Alles auswählen
=ABRUNDEN(A3;9)
Und welche Funktion hast Du dafür eingesetzt?1. Abrunden auf 10 Dezimalen (das macht Calc korrekt).
2. Dann Runden auf 9 Dezimalen (das funktioniert dann auch).
Stimmt nicht ganz.
Du zitierst ganz richtig:Mit anderen Worten:
Calc verhält sich vollkommen korrekt, [...]
naja, es ist ein bereits mehrfach diskutiertes Genauigkeitsproblem von Fließkommaoperationen (http://de.wikipedia.org/wiki/Gleitkommazahl) bei begrenzter Genauigkeit bzw. begrenzter absoluter Stellenzahl.und ich finde auch dass das ein Fehler ist
Hab ich gemacht, und kann es bestätigen.Kannst Du auch ganz leicht kontrollieren, denn schon bei Zelle A1 mit 0,49999999999999 (eine 9 weniger) errechnet Calc mit =RUNDEN(A1) das korrekte Ergebnis 0.
Nicht das Du es übersehen hast, aber ein interessantes Phänomen ist mir grad aufgefallen.Oder was übersehe ich?
Nicht das Du es übersehen hast, aber ein interessantes Phänomen ist mir grad aufgefallen.
Wenn man die Ausgangszahl von Chris nimmt, dann wird sie auch noch so dargestellt, wie eingegeben. Tauscht man jetzt allerdings die 0 vorm Komma mit ner 1, dann wird automatisch auf 1,5 gerundet dargestellt. Also 1,499999999999999 wird nicht mehr angezeigt.
Dann hast Du nicht verstanden worum es hier geht, es geht NICHT um Größe von Zahlen oder Ähnliches, sondern nur um maximale Anzahl der darstellbaren Ziffern (1 bis 9) bei der Darstellung von Zahlen.Normalerweise hätte ich eigentlich erwartet, dass sich die Nachkommastellen nicht durch den wechsel von 0 auf 1 anders verhalten.
Ja jetzt hats bei mir auch endgültig klick gemacht.Es ist völlig egal wie groß die Zahlen sind, sondern es kommt nur auf die Anzahl der signifikannten Stellen (also alle Ziffern außer 0) an. Wenn Du vorne eine 1 anfügst steigt halt die Anzahl der signifikannten Stellen um eine und das ist eine zuviel und Calc muß runden