BigInteger 转 BigDecimal 问题
2017-06-07 18:02
399 查看
从数据库取出一个 Count函数 统计的值
在代码中要转成Integer类型的时候
String sqlCount = "SELECT count(1) "+
"FROM (t_mch_XXX s LEFT JOIN t_bank_XXX b ON s.`CODE` = b.CUST_ID) "+
"LEFT JOIN t_cls_XXX t ON s.`CODE` = t.MCH_CODE "+
"WHERE t.SETTLE_DATE>? AND t.SETTLE_DATE<? AND s.CLS_MODE = 'INDIRECT' AND t.AMOUNT_SETTLE > 0";
Query queryCount = addQueryParams(getEntityManager().createNativeQuery( sqlCount ),
new Object[]{search.getSettleDate().getStart(),search.getSettleDate().getEnd()});
BigDecimal decimal = (BigDecimal) queryCount .getResultList().get(0);
项目跑起来,点查询的时候就报下面的错:
java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.math.BigDecimal
也试过这种方法 BigDecimal decimal = (BigDecimal)queryCount.getSingleResult() == null ? 0:queryCount.getSingleResult()
; 还是报同样的错 。
最后 ,使用绝招 ,不是不能转么,那就直接用 BigInteger
Object count = queryCount.getSingleResult() == null ? 0:queryCount.getSingleResult();
BigInteger i= (BigInteger)count;
这样就行了 。
在代码中要转成Integer类型的时候
String sqlCount = "SELECT count(1) "+
"FROM (t_mch_XXX s LEFT JOIN t_bank_XXX b ON s.`CODE` = b.CUST_ID) "+
"LEFT JOIN t_cls_XXX t ON s.`CODE` = t.MCH_CODE "+
"WHERE t.SETTLE_DATE>? AND t.SETTLE_DATE<? AND s.CLS_MODE = 'INDIRECT' AND t.AMOUNT_SETTLE > 0";
Query queryCount = addQueryParams(getEntityManager().createNativeQuery( sqlCount ),
new Object[]{search.getSettleDate().getStart(),search.getSettleDate().getEnd()});
BigDecimal decimal = (BigDecimal) queryCount .getResultList().get(0);
项目跑起来,点查询的时候就报下面的错:
java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.math.BigDecimal
也试过这种方法 BigDecimal decimal = (BigDecimal)queryCount.getSingleResult() == null ? 0:queryCount.getSingleResult()
; 还是报同样的错 。
最后 ,使用绝招 ,不是不能转么,那就直接用 BigInteger
Object count = queryCount.getSingleResult() == null ? 0:queryCount.getSingleResult();
BigInteger i= (BigInteger)count;
这样就行了 。
相关文章推荐
- BigInteger和BigDecimal大数相加问题
- Java300StudyNote(12)-Java浮点数以及浮点数误差问题、BigInteger、BigDecimal、float与long谁更大
- DB2中bigInteger的数据转换成char遇到的问题
- java.math中NumberFormat,BigInteger和BigDecimal的简单用法
- BigDecimal和BigInteger详解
- 处理大数字BigInteger与BigDecimal
- Java中BigDecimal 和 BigInteger 类型数据操作学习总结
- 使用struts bean:write标签时不能显示Integer,BigDecimal等类型的属性问题的解决
- JAVA大数处理(BigInteger,BigDecimal)
- java编程思想学习笔记(一)——BigInteger和BigDecimal
- java BigInteger和BigDecimal
- 【正整数模板运算(C++手写BigInteger类和java.math.BigInteger以及java.math.BigDecimal)】
- Java5:BigInteger、BigDecimal详解
- java 中的大数据类型(BigInteger和BigDecimal)
- BigInteger和BigDecimal
- 1-100最小公倍数问题(Java BigInteger版本)
- java 高精度数BigInteger和BigDecimal
- java.math中NumberFormat,Math,BigInteger和BigDecimal的简单用法
- 特别大的数的阶乘问题,利用BigInteger进行运算
- BigInteger 与 BigDecimal区别,及BigDecimal详解