Criteria criteria = session.createCriteria(Crm_goods.class);//Crm_goods中的值如图1,按理求和的结果有两位小数
criteria.setProjection(Projections.sum("sum"));//sum在数据库中也是float格式
System.out.println("criteria.uniqueResult()"+criteria.uniqueResult());
if(criteria.uniqueResult() != null){
float sum = ((Float)(criteria.uniqueResult())).floatValue();//为什么只有一位小数?
crm_indent.setAggregateAmount(String.valueOf(sum));
session.update(crm_indent);//存入数据库之后,只有一位小数如图
}

图1

图2
本文探讨了在使用Java进行数据库查询时遇到的浮点数精度丢失问题。具体表现为从数据库查询得到的浮点数在转换过程中由两位小数变成了只有一位小数,文中提供了具体的代码示例并讨论了可能的原因。

被折叠的 条评论
为什么被折叠?



