sql查double类型的数时查出来的经常是带E的科学计数形式,
解决:sql别写成select*。。。
分开写转换格式例:select FORMAT(money,2)money FORMAT(number,2) number from…就可以了不这样查出来的不能用实体接收,必须是Map。
若想在查出来之后转成正常的Double,
则可以使用String money = new BigDecimal(manager.getMoney().toString()).toString();这样就正常了
若数据格式存的是VARCHAR类型的数字,在使用SUM等聚合函数时会出现丢失精度问题,但并不是每次都出现这种问题,这是由于使用SUM时,会先将varchar类型数字转成double类型,这时就会出现丢失精度,解决:先使用convert转换
select SUM(CONVERT(money,DECIMAL(18,2))) from…