按IEEE 754格式保存的浮点数精度相当于带有15、16或17位小数位数的十进制小数,由于存在二进制和十进制的转换问题,具体的位数会发生变化。要获得最高的转换精度,必须指定17位的小数——此时可以相信前15位的精度。
也就是说你只有输入15个9的时候才会显示是正确的

解决方案 »

  1.   

    你只是为了把它float一下吗?应该还有其他计算吧
    如果没有的话就省事了,只要把他先当字符串截取下,留几位给他FLOAT就可以了,然后在以字符串拼接下吧,不知道还有没有其他的方法
      

  2.   

    Declare @tt float,@pp float
    Set @tt = 1000000000000000000
    Set @pp = 1000000000000000000
    Select @tt + @pp
    结果:
    ----------------------------------------------------- 
    2.0E+18估计你也是保存数据的吧??用数据库语句也比较合理吧??呵呵