Java if-else条件改变输出颜色

时间:2014-05-21 10:52:00

标签: java css if-statement

我有这段代码,我坚持使用,基本上我要做的是根据结果显示不同颜色的字体。例如,如果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>

3 个答案:

答案 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()方法比较对象。