数据库存储过程中float型数据的精度问题
在做aspx.net程序的时候用到sql server数据库,先建立一个数据表,相应的字段格式都是float型的,
然后在aspx程序中,通过
SqlParameter[] prams = {
DataBase.MakeInParam("@name", SqlDbType.VarChar, 6,name.Text.Trim()),
DataBase.MakeInParam("@dx", SqlDbType.Float, 8,(float)(Math.Round(float.Parse(dx.Text.ToString())*100))/100),
DataBase.MakeInParam("@rs", SqlDbType.Decimal, 5,float.Parse(rs.Text.ToString())),
DataBase.MakeInParam("@rsbh", SqlDbType.Float, 8,float.Parse(rsbh.Text.ToString())),
来传递值,但是发现在我断点测试的过程中,这些float.Parse(rs.Text.ToString()))数据都是1.64这种,但是当程序执行完成,写入数据库的时候就是1.63XXXXXX,很长的后缀,我不知道问题出在哪里了。谁碰到过,麻烦说一下。我这里用decimal也没用,不知道是不是用错了。谢谢。