本人是个初学.net开发者,现遇到一个问题求助解决:数据库当中有个字段,其类型是float型,在页面当中,有个录入框,对应此字段,现在我在页面中输入4.6,而数据中此字段的值变为了4.59999990463257,请问,这是为什么啊,有什么办法可以解决?我是希望达到的效果是,在页面中输入什么值,数据库就存入什么值,比如我输入4.35则存入4.35,而非存入4.34999990463257。谢谢!

解决方案 »

  1.   

    数据库中用decimal类型。不要用float.
      

  2.   

    注意设定decimal的精度,既小数点后的位数.
      

  3.   

    好像不能用decimal类型,用这个类型的话只能变成整数了,我输入5.6,变成6了,有没有其他解决方法.
      

  4.   

    在.net中用string 存。在数据库中将其转为基类就好。
      

  5.   

    1:如果这个字段不要进行逻辑运算
    数据库使用成varchar或者nvarchar类型,
    在页面加入一段javascript控制一下就行了
    2:数据库可以使用decimal[(p[, s])] 和 numeric[(p[, s])]保存
    3:如果必须使用float保存
    使用ROUND 函数返回数字表达式并四舍五入为指定的长度或精度