Ich sende Daten hin und her Python und Cassandra. Ich verwende beide eingebauten float
Typen in meinem Python-Programm und den Datentyp für meine Cassandra-Tabelle. Wenn ich eine Nummer 955.99
von Python an Cassandra sende, wird in der Datenbank 955.989999
angezeigt. Wenn ich eine Abfrage in Python sende, um den Wert zurückzugeben, den ich gerade gesendet habe, ist es jetzt 955.989990234375
.Python Cassandra Floating Precision Verlust
Ich verstehe das Problem mit Präzisionsverlust in Python, ich wollte nur wissen, ob es in Cassandra eingebaute Mechanismen gibt, die dieses Problem verhindern könnten.
Während dies für einige der Werte funktioniert, werden einige wie '8.83' in' null' umgewandelt, obwohl sie die gleichen Typen wie die anderen Werte haben, irgendeine Idee, warum das passiert? – user2361174
Ahh, es waren nicht die Werte selbst, die ein Problem waren. Ich benutzte 'DROP', um die Float-Spalten zu entfernen, und benutzte' ADD', um sie zurückzustellen. Die Spalten, die ich nicht in etwas anderes benannt habe, hatten die Nullwerte in ihnen. – user2361174
Beachten Sie, dass Fließkommawerte wie Float oder Double immer Probleme mit der Genauigkeit haben. – Mandraenke