von Toxitom » Mo, 07.03.2005 17:44
Hey Schiri1,
Wie kann ich diese (Un-)Genauigkeiten bei der Berechnung (nicht nur optisch)ausschalten.
Leider gar nicht. Zeitangaben werden intern als Double-Variable gespeichert und weiterverarbeitet (Länge 8 Byte). Insofern ist die Dezimalzahl nicht "unendlich", und es tritt immer ein Fehler auf. Dass der aber bereits so massiv durchschlägt??? na ja, du wirst es probiert haben.
Tia, viel Möglichkeiten bleiben dir da nicht. Um Fehler zu vermeiden, müsstest du mit ganzen Zahlen rechnen - also die Stunden erst in ganze Zahlen umwandeln (mit gewünschter Genauigkeit - also z.B. mit zwei Stellen * 100, Kommareste abschneiden) dann deine Additionen durchführen, und schliesslich wieder rückwandeln. Das ist mit Formeln alles lösbar, aber möglicherweise macht es dann schon mehr Sinn, gleich eine entsprechende Basic-Anwendung zu schreiben.
Viele Grüße
Thomas
Hey Schiri1,
[quote]Wie kann ich diese (Un-)Genauigkeiten bei der Berechnung (nicht nur optisch)ausschalten.[/quote]
Leider gar nicht. Zeitangaben werden intern als Double-Variable gespeichert und weiterverarbeitet (Länge 8 Byte). Insofern ist die Dezimalzahl nicht "unendlich", und es tritt immer ein Fehler auf. Dass der aber bereits so massiv durchschlägt??? na ja, du wirst es probiert haben.
Tia, viel Möglichkeiten bleiben dir da nicht. Um Fehler zu vermeiden, müsstest du mit ganzen Zahlen rechnen - also die Stunden erst in ganze Zahlen umwandeln (mit gewünschter Genauigkeit - also z.B. mit zwei Stellen * 100, Kommareste abschneiden) dann deine Additionen durchführen, und schliesslich wieder rückwandeln. Das ist mit Formeln alles lösbar, aber möglicherweise macht es dann schon mehr Sinn, gleich eine entsprechende Basic-Anwendung zu schreiben.
Viele Grüße
Thomas