日期:2014-05-18  浏览次数:20705 次

双精度转字符串问题请教?
public String getValue(int list_id) {
Session session = null;
String str = "";
try{
session = getSession(true);
String sql = "select sum(bean.fse_sbje)*100 from fseBean as bean where bean.yyfbean.list_id="+list_id+"";
Query rs = session.createQuery(sql);
rs.setReadOnly(true);
System.out.println("-----------"+rs.uniqueResult().toString());
str = rs.uniqueResult().toString()+"";  
}catch(Exception e){
logger.info(e.getMessage());
}finally{
session.close();
}
return str;
}

输出的结果是-----------1.41341868E8
我想要的结果是:-----------141341868
请问如何写呢

------解决方案--------------------
你想要的只是一种情况,可以用最笨的办法啊,截取前面那几位啊,把逗号去了.
if(str.indexOf("E")>-1)
{
 str = str.substring(0,str.indexOf("E"));
}
if(str.indexOf(".")>-1)
{
str.replace...(".","");
}
------解决方案--------------------
看不大懂你的代码 还没学hibernate呢 
不知道这样行不啊?
System.out.println(new BigDecimal(rs.uniqueResult().toString()))