如要精确实数,请使用MONEY类型

解决方案 »

  1.   

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

  2.   

    浮点数运算的精度问题,将被计算的列强制转换成numeric类型就可以消除这个问题。
      

  3.   

    不是运算造成的,float 和 real本身存储的就不是精确的值,所以你要精确还是用numeric或decimal吧
      

  4.   

    如果money能精确实数,那为什么要搞一个real,float,全搞成money不就行了吗?
      

  5.   

    既然float 和 real不能存储精确实数,那为什么微软不舍弃这些数据类型?
      

  6.   

    money的精确度为四位小数,real,float的精确度可以更高
      

  7.   

    现在数据库里面有很多数据了,想将这些不能精确存储数据的数据类型(都是real)改成numeric或decimal,应该注意什么问题?数据是否会发生变化?如原来真是数据是20.05,可能因为是real的原因,查询出来可能是20.049889522,如果我直接修改表的字段的数据类型为numeric或decimal,之后的数据是20.05还是20.049889522?
      

  8.   

    谢谢各位还想问个问题,是什么原因造成float 和 real不能精确存储实数呢?既然numeric或decimal能够精确存储,为什么不把float 和 real也弄精确了呢?