有关float数据类型,小数位后面变很长,这是什么原因,要怎么解决
我数据表里有个字段是float数据类型,有个记录在sql server里面看是4.6,可是用查询分析器执行select语句取出来就成了4.5999999,后来我把数据类型改成decimal(18,4),可是这样又有个问题,小数点后如果不足四位就会加0,请问一下要怎么解决
[解决办法]
FLoat就是这样
不是必须的用numeric代替
[解决办法]
declare @t table(id float)insert @t select 1insert @t select 1.23insert @t select 1.258select case when cast(ID as float) > cast(ID as int) then cast(ID as float) else cast(ID as int) end IDfrom @t/*ID----------------------11.231.258(3 個資料列受到影響)*/