Real vs. Floating Point vs. Money

前端 未结 4 1142
走了就别回头了
走了就别回头了 2020-11-27 06:30

Why when I save a value of say 40.54 in SQL Server to a column of type Real does it return to me a value that is more like 40.53999878999 instead of 40.54? I\'ve seen this

4条回答
  •  旧巷少年郎
    2020-11-27 07:19

    Floating point numbers use binary fractions, and they don't correspond exactly to decimal fractions.

    For money, it's better to either store number of cents as integer, or use a decimal number type. For example, Decimal(8,2) stores 8 digits including 2 decimals (xxxxxx.xx), i.e. to cent precision.

提交回复
热议问题