为什么在业务逻辑层取出的某些数据不对呢

赵小5 2011-06-28 02:57:16
使用的是ssh2框架,在后台输出的sql语句放到sql2005中查出来的数据是正确的,涉及到的这个数据是用sum(num)计算出来的,正常应该是41.6,但是在业务逻辑层service中取出却变成41.60000000000001了,而且只有这一条记录有问题,其他的记录的这个数据都对。
num是double类型的
部分代码如下
在业务逻辑层是用List<Object[]>来取出的,Iterator<Object[]> iter = list.iterator();
while(iter.hasNext()){ Object[] xx = iter.next();
builder.append("num:\"").append(xx[4])
}
...全文
145 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵小5 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 okayu 的回复:]
JAVA浮点数的原因,哈哈。原因是数据库的数据类型和JDBC不是很匹配。
不知道有什么好的办法不?
[/Quote]
恩 我最终也是归因于浮点数运算导致的 考虑数据库里这个字段的数据最多会是一个小数点,最后商量决定在业务逻辑层format一下
呵呵 不过你说不匹配和我者的情况还真相符 java的Model里用的是double 数据表里是float 不过我统一之后依然没解决的了

今天是过来散分的 呵呵 看个各位的好心上 一定不辜负大家
熊猫哥哥 2011-06-29
  • 打赏
  • 举报
回复
JAVA浮点数的原因,哈哈。原因是数据库的数据类型和JDBC不是很匹配。
不知道有什么好的办法不?
赵小5 2011-06-28
  • 打赏
  • 举报
回复
为什么其他类似数据都正常 就这个变得这么多余的精确呢 末尾还是个1 怎么看像随机数呢
session_ac 2011-06-28
  • 打赏
  • 举报
回复
double型的精确位数???

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧