Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Real vs. Fließkomma vs. Geld

Werfen Sie einen Blick auf Was jeder Informatiker über Gleitkommaarithmetik wissen sollte.

Fließkommazahlen in Computern stellen Dezimalbrüche nicht genau dar. Stattdessen repräsentieren sie binär Brüche. Die meisten Bruchzahlen haben keine exakte Darstellung als binäre Brüche, daher wird etwas gerundet. Wenn ein solcher gerundeter binärer Bruch in einen Dezimalbruch zurückübersetzt wird, erhalten Sie den von Ihnen beschriebenen Effekt.

Zum Speichern von Geldwerten stellen SQL-Datenbanken normalerweise einen DECIMAL-Typ bereit, der exakte Dezimalziffern speichert. Dieses Format ist für Computer etwas weniger effizient, aber es ist sehr nützlich, wenn Sie Dezimalrundungsfehler vermeiden möchten.