vc/mfc + Sql Server2000开发的数据库系统在根据“金额”检索记录的时候,出现一个问题:由于保存金额的字段是float类型,所以保存到数据库的小数,其小数点后面会有很多位。
例如:保存907.20到数据库中,那么就会变成907.200012207031所以当要精确检索金额为“907.20”的记录的时候,是没有办法检索到的!不知道各位大侠是怎么解决这种问题的,请指点一下……学习,关注……注:我保存到数据库中的金额是通过atof()函数将CString类型的数据转换成douoble类型后再存入到float字段里面的。

解决方案 »

  1.   

    数据库的je字段,为什么要设置成float的?难道int不行吗?
    sql server还有bigint,应该能够满足你的金额要求,
    如果非要用float,除了Aerith(艾莉斯) 的办法,想不出什么高招,
    请哪位大虾指点一下。
      

  2.   

    int 不行的吧!小数怎么存啊?学习,关注……
      

  3.   

    可以进行放缩查询,比如找12.53,数据库中是12.53467,只需要把 int(12.53467*100)与int(12.53*100)比较,可以实现精确查找