我在JSP中的javabean中,采用了float类型的数据
从网页中赋值(用set)后,再取出(用get)时则该float数据小数点位与原数据不同
比如输入的数据是:1000000.21
取出后则变成了:1000000.2
记入数据库后也产生了错误的结果,希望各位大侠帮忙.

解决方案 »

  1.   

    高手在那里了?
    我的处理方法是,只能将这些字段按string类型来传递了
    高手们有什么好的方法吗?
      

  2.   

    double value = 99.99999;
    DecimalFormat df = new DecimalFormat("########.00");
    //四舍五入
    value = Double.parseDouble(df.format(value));
      

  3.   

    首先确认在表单set之前数据是:1000000.21
    其次在如果的确还是这样,你不使用表单数据,你直接set 1000000.21这个常量给那个float,看看是不是还是那种情况!
      

  4.   

    我的JAVABEAN中的
    只是先用SET把值赋值给FLOAT变量
    然后用GET将这个值显示出来,结果就变了
    我是想对这个现象找一个合理的解释
      

  5.   

    代码在单位了,就不贴了
    其实也没有什么特别的,我仔细检查过代码
    简单的说,一个JAVABEAN里面有一个FLOAT变量,两个方法(一个SET一个GET)来对这个变量赋值
    和取值
    结果是,调用SET赋值后,马上用GET来取值则出现了题目中的问题.
    谢谢大家!!