Hallo Gerhard,
herzlichen Dank für den ausführlichen Kommentar zu den Eingabewerten bei
Größenangaben. Ich hätte es wissen oder zumindest argwöhnen müssen, dass
intern möglicherweise mit Twips gerechnet wird. Aber es war für mich
eine Art Schock, nach einer Eingabe von
oSheet.getCellByPosition(0, 1).Rows.Height = 350
die Ausgabe
oSheet.getCellByPosition(0, 1).Rows.Height '349
zu finden, die ich zuerst gar nicht auf dem Schirm hatte.
Vielleicht bin ich ja nicht der einzige, der zu unbedarft mit diesen
Werten umgeht, zumal in den allermeisten Fällen eine Differenz von einem
Hundertstel Millimeter völlig unerheblich ist. So mag dieser Dialog dem
einen oder anderen eine Hilfe sein.
Schöne Grüße
Volker
Am 11.11.2017 um 02:03 schrieb Gerhard Weydt:
Hallo Volker,
ich mische mich erst verspätet in die Diskussion ein, in späteren Mails
als der, auf die ich diese Antwort schicke, ist schon vieles gesagt,
insbesondere Thomas Krumbeins Hinweis auf "ma" oder "twips" - findest du
auch etwas ausführlicher in seinem Buch über Makros - bringt den
eigentlichen Kern des Problems herein, nämlich die Notwendigkeit der
Umrechnung in geräteabhängige Maßeinheiten. Aber die Mail, auf die ich
antworte, ist für mich der Kern der Fragestellung.
Die Gleichsetzung der Eingabe eines ganzahligen Wertes mit dem
abstrakten Konzept einer Ganzzahl ist nicht schon nicht ganz ohne. Das
sieht so aus, weil die zugehörige Maßeinheit z.B. 1/100 mm ist, aber ist
das dann eine saubere Ganzzahl? In welchem Kontext? Ganze Zahlen kommen
meiner Meinung nach vom Zählen, und von da zum Messen von Abständen,
wofür du ja die Gannzahl verwendest, ist ein weiter Weg. Bedenke: wir
sind hier mit praktischen Dingen beschäftigt und nicht mit Theorie (ich
bin selbst Mathematiker!), und man muss immer den Kontext bedenken. Du
könntest sagen, es sei eine Dezimalzahl mit z.B. 3 fixen
Nachkommastellen, das sei fast das gleiche. Das Problem ist, dass du
diese Zahl meist mit einer anderen in Beziehung setzen musst (schon wenn
du z.B. eine Tabelle mit drei Spalten auf einer Seite darstellen willst,
da hast du gleich ein Verhältnis mit einem unendlichen, wenn auch
periodischen Dezimalbruch, auch im Binärsystem, und den kann man nicht
mit endlich vielen Nachkommastellen darstellen, die es einfach braucht
wenn man ein allgemein verwendbares System bereitstellen will), und
damit bist du sebst bei der vereinfachenden Annahme, dass alles im
metrischen System läuft, schon beim Problem von Rundungen und den daraus
folgenden Ungenauigkeiten, mit denen du rechnen musst. Mag sein, dass
man ein geschicktes System für die Behandlung von Brüchen mit EDV
entwerfen könnte, aber dann brauchen wir ja auch mal Quadratwurzeln und
sonstige algebraische Zahlen und mit Sinus u.ä. auch transzendente
Zahlen, und dann landen wir pragmatisch wieder bei Annäherungen durch
endliche Brüche.
Hinzukommen die Berücksichtigung unterschiedlicher Maßsysteme (Zoll!)
und die schon genannten Geräte-spezifischen Anforderungen.
Die Programmierer müssen all das berücksichtigen, und wenn sie das mit
Double-Variablen tun, nützen sie den Typ, der die höchste Präzision
hergibt. Das funktioniert ja auch annähernd bzw. ziemlich genau, und wer
mehr will, muss sich selber bemühen. Du weißt das ja auch und tust das
entsprechend, mir geht es nur darum, ein Verständnis für die
Schwierigkeiten zu wecken, die in dem Thema stecken. Dabei ist das auch
nur eine Außenansicht, ich bin in diesen Themen nicht aktiv, ich
versuche nur, die Prinzipien nachzuvollziehen.
Gruß
Gerhard
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.