发现这么个问题,加一个字段为float,然后增加一个值为0.4
用查询分析器一查,结果成了0.40000000000000002
又增加一个值为0.7 用查询分析器一查成了0.69999999999999996
加一个值为1.23 ,再一查还是1.23谁能告诉我这是怎么回事啊???? 是float类型的问题,还是数据库的问题?
用查询分析器一查,结果成了0.40000000000000002
又增加一个值为0.7 用查询分析器一查成了0.69999999999999996
加一个值为1.23 ,再一查还是1.23谁能告诉我这是怎么回事啊???? 是float类型的问题,还是数据库的问题?
显示时转换一下.cast(col as decimal(18,2))
用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示
如果需要精确的话,用decimal。
如果需要精确的话,用decimal。
如果需要精确的话,用decimal。
Declare @T Table (A Float, B Numeric(10,2))
Insert @T Select 12.21,12.21Select * From @T
--Result
/*
AB
12.210000000000001 12.21
*/