我有这段代码,我坚持使用,基本上我要做的是根据结果显示不同颜色的字体。例如,如果returnval > 0
(正),输出字体将为蓝色,如果returnval < 0
(负),则输出字体将为红色。我认为这很简单;然而,到目前为止我尝试过的东西不起作用。以下是代码,希望你们能指导我。
while (rs1.next()) {
if (rs1.getString("groupAcc") != null)
groupAcc = rs1.getString("groupAcc");
if (rs1.getString("returnvalue") != null)
returnval = rs1.getDouble("returnvalue");
if (returnval > 0){
returnval = "<font color=\"#3d9900\"></font>";
}
else {
returnval = "<font color=\"#e64343\"></font>";
}
// returnval
if(rs1.getString("LOGIN") != null)
login = rs1.getString("LOGIN");
if (rs1.getString("username")!=null)
wallet_each_acc = rs1.getString("username");
HTML:
<td align="right"><span class="box_acc_percent"><%=returnval %>%</span></td>
答案 0 :(得分:1)
您似乎已将'returnval'
定义为'double'
而您正在尝试为其分配string
值。
returnval = "<font color=\"#3d9900\"></font>";
因此是例外。
更改部分代码:
String successStatus = "";
if ( returnval > 0 ){
successStatus = "<font color=\"#3d9900\">" + returnval + " % </font>";
} else {
successStatus = "<font color=\"#e64343\">" + returnval + " % </font>";
}
// other code should go here
// ...
<td align="right"><span class="box_acc_percent"><%= successStatus %></span></td>
并且它应该有效。
答案 1 :(得分:0)
在<font>
和</font>
之间写一些内容
if (returnval>0){
returnval = "<font color=\"#3d9900\">Success</font>";
} else {
returnval = "<font color=\"#e64343\">Error</font>";
}
答案 2 :(得分:0)
问题: returnval定义在哪里。它是双重的吗? rs1.getDouble的返回值是什么(“returnvalue”);?
如果returnval未定义为double,请更改它。
如果rs1.getDouble(“returnvalue”)的返回值不是double类型,则必须转换它。如果它是一个字符串(我怀疑,因为它会很尴尬)你将不得不做
Double.parseDouble(rs1.getDouble("returnvalue"), 10);
如果类型是Double(注意大D意味着它是Double对象而不是double原语)你将不得不做类似的事情
returnvalue = rs1.getDouble("returnvalue").doubleValue();
doubleValue()返回封装在Double对象内部的原语double,因此可与==!=&lt;进行比较&GT;等等。只能使用.equals()方法比较对象。