刚才无意发现
select convert(float,10)/convert(float,100)
的结果居然是0.10000000000000001
为什么后面会多出那么一小点东西?求解

解决方案 »

  1.   

    float用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。
      

  2.   

    2005的结果:
    select convert(float,10),convert(float,100),convert(float,10)/convert(float,100)                                              
    ---------------------- ---------------------- ----------------------
    10                     100                    0.1(1 row(s) affected)
      

  3.   

    float本来就是近似存储,求比例一般不用显示转换 select 10*1.0/100
    select round(10*1.0/100,2)
      

  4.   

    select convert(numeric(10,2),10)/convert(numeric(10,2),100)select convert(real,10)/convert(real,100)------------------------- 
    .1000000000000(1 row(s) affected)                         
    ------------------------ 
    0.1(1 row(s) affected)
      

  5.   

    float 是近似值,如果要定義浮點型,還是用numeric吧