BigDecimal b = new BigDecimal(100);
int i = b.intValue();

解决方案 »

  1.   

    这个...你用oracle之前不先查一下jdbc对应字段类型的吗...
    对于数值类型来说
    oracle     JDBC
    INTEGER -> short, int, long 是字段情况,一般用long
    NUMBER -> float, doule, java.math.BigDecimal 存在小数定义下,映射为float/double,否则映射为BigDecimal
     
      

  2.   

    很正常的,用java查出来的就是BigDecimal型,用BigDecimal.intValue()一下就可以了。
    像我们公司,计算时都是BigDecimal,double都不让用。
    顺便送你个BigDecimal的计算方法
    http://fengbin2005.iteye.com/blog/1122832
      

  3.   

    谢谢各位了,问题没解决,现在用hibernate查询。查询出来在取或者转类型肯定可以,本来想查出来就是想要的类型,懒得转的。虽然不太喜欢hql,但是它查出来的对象是转换好的,稍微方便点。
      

  4.   

    这块我也纠结了很久,最近没啥忙的看了struts2的源代码。DefaultTypeConverter这个类研究研究就明白了