Liebe Liste, ich sollte öfter einfach einmal schreiben und dann weiter testen ... > > ich versuche gerade, mittels einer Abfrage die Gültigkeit von > ISBN-Nummern für die Datenbank "Base-Handbuch" zu überprüfen. > > Für ISBN_10 ermittle ich nach dem Schema 1*Ziffer1 + 2*Ziffer2 + > 3+Ziffer3 ... einen Wert, den ich anschließend durch 11 dividiere und > dabei den Rest ermittele (MOD(Wert,11)). Das Ergebnis muss für eine > korrekte ISBN_10_Nummer 0 sein. > > Der Wert, den ich durch Abfragen z.B. erhalte, ist laut Anzeige "198". > Gebe ich MOD(198,11) in einer Abfrage an, so erhalte ich 0. Gebe ich den > angezeigten Wert ein (MOD("Wert",11)), so erhalte ich 10. Gleiches > Verhalten für eine weitere ISBN-Nummer. > > Baue ich Fehler in eine ISBN-Nummer, so ändert sich auch das Ergebnis. > Weiß jemand, wo die Ursache dafür liegen könnte, dass die HSQLDB falsche > Rechenergebnisse ausspuckt? Ursache ist, dass wohl ein Nachkommafehler vorliegt, der aber leider nicht angezeigt wird. Lasse ich die ermittelten Summen nach oben Aufrunden, so erhalte ich anschließend das korrekte Ergebnis. Bei meinem Beispiel muss da also in HSQLDB nicht 198 gestanden haben, sondern dank meiner Rechnungen vielleicht 197,999999999 - nur in der GUI eben nicht angezeigt.
Gruß Robert -- Informationen zum Abmelden: E-Mail an discuss+h...@de.libreoffice.org Probleme? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/discuss/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert