为什么计算的结果不符合要求?

gzf30 2004-09-16 09:51:53
mysql数据表中的内容:
用户名 队名 时间 主队 客队 投注额 用户输赢 公司输赢
eileen B 2004-01-23 中国队 法国队 50000.00 2000.00 5000.00
at A 2004-01-01 德国队 中国队 10000.00 1000.00 5000.00
at B 2004-02-05 英国队 巴黎队 20000.00 200.00 500.00
eileen A 2004-01-25 中国队 法国队 30000.00 -500.00 4000.00
计算某个球队的ballrate:
如:德国队\中国队的ballrate:count(用户输赢)/count(投注额),结果应该是1
代码是这样写的,但求出来的结果是NaN, 请帮我看看为什么?
<%
String sql_buamountball="select user_name,home_team_name,away_team_name from bets where play_time>='2004-1-1' and play_time<='2004-1-31' group by home_team_name,away_team_name";
ResultSet rsball=stmt.executeQuery(sql_buamountball);
String ballamount="-1";
String ballamount1="-1";
String sql_bamount;
String ball_name;
String bn1;
String bn2;
String sql_bamount1;
Statement stmt3;
ResultSet rs9;
ResultSet rs10;
float ballrate;
while(rsball.next())
{
out.println("<tr>");
bn1 = rsball.getString("home_team_name");
bn2 = rsball.getString("away_team_name");
ball_name = bn1 + "/" + bn2;
out.println("<td>" + rsball.getString("user_name") + "</td>");
out.println("<td>");
out.println(rsball.getString("home_team_name") + "/" + rsball.getString("away_team_name"));
out.println("</td>");
stmt3=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
sql_bamount="select count(user_amount) as qa from bets where user_amount>0 and user_name='"+ball_name+"'";
rs10=stmt3.executeQuery(sql_bamount);
if(rs10.next())
ballamount=rs10.getString("qa");
rs10.close();
sql_bamount1="select count(amount) as qa1 from bets where user_name='"+ball_name+"'";
rs9=stmt3.executeQuery(sql_bamount1);
if(rs9.next())
ballamount1=rs9.getString("qa1");
rs9.close();
ballrate=(float)Integer.parseInt(ballamount)/(float)Integer.parseInt(ballamount1);
out.println("<td>");
out.println(ballrate);
out.println("</td>");
stmt3.close();
}
rsball.close();
%>


...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyonghailiuyong 2004-09-16
  • 打赏
  • 举报
回复
如果被0除的话结果就可能是NaN
ecaol 2004-09-16
  • 打赏
  • 举报
回复
up
opencsdn 2004-09-16
  • 打赏
  • 举报
回复
Integer.parseInt(ballamount1)是不是0啊,
还有ballrate:count(用户输赢)/count(投注额),结果应该是1?????应该是(0.1)吧,然后来个parseInt(),就是0了

81,092

社区成员

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

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