请教一个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
请指教
<%
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 就对了
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%>
<%
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型的)
我以前将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的。
所以c/a=0; 然而double e = c/a;又将0强转成double类型 所以变成0.0,如果你想得到精确的值就把a和c都转成double的。
作者: xuweijiayou4877 发布时间: 2011-06-07