Hallo,
auch wenn dieses Problem beim Addieren von Uhrzeiten auftritt, könnte es ein grundsätzliches Problem mit der Funktion GANZZAHL() sein. Bei einem angezeigten Wert von B2*24=2,300000000000000E+01, würde ich als Ganzzahl 23 erwarten. Selbst wenn man die endliche Maschinengenauigkeit beachtet, halte ich das Ergebnis GANZZAHL(B2*24)=2,200000000000002E+01 für fehlerhaft. Eigentlich sogar doppelt a) es wird irgendwie abgerundet auf 22, und b) eine Integerzahl dieser Größenordnung sollte exakt speicherbar sein.
OpenOffice arbeitet liefert das erwartete Ergebnis.
-- Reuti
Arbeitet die Funktion GANZZAHL() fehlerhaft?
Re: Arbeitet die Funktion GANZZAHL() fehlerhaft?
Stell das Beispiel bitte hier ein.Reuti hat geschrieben: ↑28.10.2019 14:12:59Hallo,
auch wenn dieses Problem beim Addieren von Uhrzeiten auftritt, könnte es ein grundsätzliches Problem mit der Funktion GANZZAHL() sein. Bei einem angezeigten Wert von B2*24=2,300000000000000E+01, würde ich als Ganzzahl 23 erwarten. Selbst wenn man die endliche Maschinengenauigkeit beachtet, halte ich das Ergebnis GANZZAHL(B2*24)=2,200000000000002E+01 für fehlerhaft. Eigentlich sogar doppelt a) es wird irgendwie abgerundet auf 22, und b) eine Integerzahl dieser Größenordnung sollte exakt speicherbar sein.
OpenOffice arbeitet liefert das erwartete Ergebnis.
-- Reuti
PlanMakerFree.png
Mit freundlichem Gruß
Karl
SM 2018 rev. 976/0313/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2021 Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Karl
SM 2018 rev. 976/0313/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2021 Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Re: Arbeitet die Funktion GANZZAHL() fehlerhaft?
Hallo,
gern. Anbei die PlanMaker-Datei und der OpenOffice Screenshot.
-- Reuti
gern. Anbei die PlanMaker-Datei und der OpenOffice Screenshot.
-- Reuti
- Dateianhänge
-
- ganzzahl_problem.pmdx
- (6.07 KiB) 108-mal heruntergeladen
Re: Arbeitet die Funktion GANZZAHL() fehlerhaft?
Besser: jetzt wissen wir, was sich hinter B2 verbirgt. Formatiere B2 als "Zeit" (-> Code ist: h:mm;@ ), dann kommt 23 raus, vorausgesetzt, D2 ist "Standard" formatiert, ganz ohne Ganzzahl.

Ganzzahl rundet nicht, sondern springt zur nächstkleineren ganzen Zahl, das ist ein merklicher Unterschied.
Der eigentliche Knackpunkt ist ja, was Du eigentlich erreichen willst: Was ist die Summe zweier Uhrzeiten? Was ist ein Vielfaches dieses Ergebnisses und wie soll es "ausssehen".
Das es in OO "richtig" aussieht, heißt nur, die OO-Programmierer gingen von anderen Voraussetzungen aus, womöglich runden sie intern erst auf eine bestimmte Stellenzahl und "kappen" dann.
Oder auch, SM hat hier einen Bug

Generell würde ich mich bei keinem Produkt im Ernstfall auf diesem Minenfeld auf interne Verarbeitung verlassen.
Mit freundlichem Gruß
Karl
SM 2018 rev. 976/0313/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2021 Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Karl
SM 2018 rev. 976/0313/64, klassisches Menu @ W8.1/64 /Deutsch/Deutsch // emC 7
SM 2021 Nightly, klassisches Menu
16GB Ram; Core i5-3450 mit integriertem Intel HDGraphics 4000, Treiber 10.18.10.4276; Samsung SSD 840pro
2560x1440 Monitor 100% Darstellungsgröße /// LaserJet 1200 per USB via Fritzbox 6591.
Re: Arbeitet die Funktion GANZZAHL() fehlerhaft?
Hallo,
danke für die ausführliche Antwort.
Ja, wir können uns darauf einigen, der internen Verarbeitung nicht zu vertrauen. Es kann an dieser Stelle zu einer anderen internen Darstellung des Zahlenwerts kommen. Die kann jeder Programmentwickler verschieden implementieren.
In dem originalen Arbeitsblatt sollen die Stunden (und nur diese, ohne Minuten) mit einem Faktor multipliziert werden.
Ich habe es nun gelöst, indem ich STUNDE() der Summe nehme, diese Berechnung hat den richtigen Wert. Auf diese Idee bin ich vorher nicht gekommen.
-- Reuti
PS: Dass einige ganze Zahlen (ganz ohne Berechnung) bei der wissenschaftlichen Darstellung plötzlich eine Nachkommestelle haben würde ich aber dennoch einmal nachgehen.
danke für die ausführliche Antwort.
Ja, wir können uns darauf einigen, der internen Verarbeitung nicht zu vertrauen. Es kann an dieser Stelle zu einer anderen internen Darstellung des Zahlenwerts kommen. Die kann jeder Programmentwickler verschieden implementieren.
In dem originalen Arbeitsblatt sollen die Stunden (und nur diese, ohne Minuten) mit einem Faktor multipliziert werden.
Ich habe es nun gelöst, indem ich STUNDE() der Summe nehme, diese Berechnung hat den richtigen Wert. Auf diese Idee bin ich vorher nicht gekommen.
-- Reuti
PS: Dass einige ganze Zahlen (ganz ohne Berechnung) bei der wissenschaftlichen Darstellung plötzlich eine Nachkommestelle haben würde ich aber dennoch einmal nachgehen.
- Dateianhänge
-
- wiss-Darstellung.pmdx
- (5.59 KiB) 79-mal heruntergeladen