我在TEXTBOX里输入的23423.233,用float.Parse(TEXTBOX.TEXT)转换后在数据库里变能了23423.23046875,请问是什么原因?

解决方案 »

  1.   

    float不能精确表示小数,用Convert.ToDecimal试试
      

  2.   

    float不能精确表示小数,用Convert.ToDecimal试试
    正解
      

  3.   

    CAO,Convert.ToDecimal是转换时间的,根本不能用!我找到问题的所在了,是 new   OracleParameter的OracleType.VarChar在作怪,改成OracleType.Number就好了,不知道是什么原因
      

  4.   

    //CAO,Convert.ToDecimal是转换时间的,根本不能用!无语~
      

  5.   

    什么无语,我的变量是FLOAT型的,float xx=Convert.ToDecimal(tboxEdit.text)根本编译不起
      

  6.   

    如果Convert.ToDecimal是转换时间,那么Convert.ToDateTime是什么呢?
      

  7.   

    不好意思,没看清楚,ToDecimal可以转换18种类型,只是我的VS.NET定位到DATETIME的,呵呵
      

  8.   

    我的ORALCE数据库字段定义为FLOAT类型,调用存储过程写参数的时候写为
    new   OracleParameter("v_economybenefit", OracleType.Number),
    输入的54965352.4变成了54965350写为
    new   OracleParameter("v_economybenefit", OracleType.Float),
    的时候变成了54965352
    数据始终在变化,不准确,请问是什么原因?
      

  9.   

    已经有n个人和你说过float不能精确表示小数了,你怎么还在问呀。
    如果你想要精确的数值就用DECIMAL类型吧,这个是可以指定整数、小数长度的类型。