SqlCeServer:Float存储不正确

时间:2011-06-23 16:42:17

标签: sql-server visual-studio-2010 tsql

在我的调试器(VS2010)中,我可以使用SqlCeCommand验证我是否正在向 SqlCeServer 3.5数据库发送正确的值。

之后查看数据,我注意到我的float值的部分是倾斜的。

  • 当我输入0.006时,数据库将存储0.0060000000521540642

  • 当我输入0.012时,数据库将存储0.0120000001043081

  • 当我输入0.011时,数据库将存储0.0109999999403954

其他浮动值(1.125,0.875,0.75)存储得很好。

为了确保我的float值存储正确,我需要做些什么吗?

2 个答案:

答案 0 :(得分:2)

Don't use float:它是近似

使用固定精度:decimal/numeric

答案 1 :(得分:0)

来自msdn:

“并非所有数据类型范围内的值都可以准确表示。”

看起来你找到了其中一些!