请教一个jsp计算问题

前面是一些连接数据库和查询什么的
<%
int a = rs1.getInt(2);
int c = rs2.getInt(2);
double e = c/a;
%>

<%=a%>
<%=c%>
<%=e%>

显示
a 为 476
c 为 454
e 为 0.0

为什么e显示为0.0
请指教

作者: demonapple   发布时间: 2011-06-07

因为e取整 0.***当然是0

作者: yewuqing007   发布时间: 2011-06-07

double只是强制转换作用

作者: yewuqing007   发布时间: 2011-06-07

double类型的就这样,如果是整数,它会保留一位小数

作者: zxingchao2009   发布时间: 2011-06-07

double a ;
double c ;
double e = c/a;


先把 a c转为double 就对了

作者: yewuqing007   发布时间: 2011-06-07

类型不配佩,不可以这样直接计算输出的,把int转化为double,
<%
int a = 3;
int c = 2;
double e=a;
double d=c;
double f=e/d;
%>

<%=f%>

作者: zhangjun529   发布时间: 2011-06-07

因为你的a,c是整型

作者: yaganblw   发布时间: 2011-06-07

可不可以这样:double a =rs1.getInt(2)+0.0;
我以前将int转化为String 就是这么干的。。。。String a=b+""; (b是int型的)

作者: wangzihui1990   发布时间: 2011-06-07

首先 a和c都是int类型,对于int类型的数做除法得的值默认取小数点前面的数 如:0.2->0, 4.7->4
所以c/a=0; 然而double e = c/a;又将0强转成double类型 所以变成0.0,如果你想得到精确的值就把a和c都转成double的。

作者: xuweijiayou4877   发布时间: 2011-06-07