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

Antwort per Email an