float functionDevUseEfficiencyF = (float) equipIntrinsicFunctionUseNumsInt / equipIntrinsicFunctionNumsInt; //根据评分标准来计算得分
if (functionDevUseEfficiencyF == 1) {
functionDevelopScore = (60 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF >= 0.8) {
functionDevelopScore = (48 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF >= 0.6) {
functionDevelopScore = (36 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF >= 0.4) {
functionDevelopScore = (24 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF >= 0.2) {
functionDevelopScore = (12 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
if (functionDevUseEfficiencyF <= 0.2) {
functionDevelopScore = (0 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}如上所示写法有点问题.我现在是根据functionDevUseEfficiencyF值来计算不同的表达式.
现在的问题是,如果functionDevUseEfficiencyF=0.9,那么我直接运行的是:
if (functionDevUseEfficiencyF >= 0.8) {
functionDevelopScore = (48 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
}
而下面的>=0.6等等都不需要计算了.

解决方案 »

  1.   

    LZ脑袋真晕了 。 
    functionDevUseEfficiencyF=0.9, 不会执行下面的>=0.6等等的计算。 
      

  2.   

    中午没有休息,脑袋不工作了
    考虑了一下,改成如下方式:
    // 根据评分标准来计算得分
    if (functionDevUseEfficiencyF == 1) {
    functionDevelopScore = (60 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
    }
    if (functionDevUseEfficiencyF >= 0.8 && functionDevUseEfficiencyF < 1) {
    functionDevelopScore = (48 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
    }
    if (functionDevUseEfficiencyF >= 0.6 && functionDevUseEfficiencyF < 0.8) {
    functionDevelopScore = (36 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
    }
    if (functionDevUseEfficiencyF >= 0.4 && functionDevUseEfficiencyF < 0.6) {
    functionDevelopScore = (24 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
    }
    if (functionDevUseEfficiencyF >= 0.2 && functionDevUseEfficiencyF < 0.4) {
    functionDevelopScore = (12 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
    }
    if (functionDevUseEfficiencyF <= 0.2) {
    functionDevelopScore = (0 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;
    }不知道这种写法是否最好的方式
      

  3.   

    functionDevelopScore = ((int)(functionDevUseEfficiencyF*5) * 12 + equipFunctionDevelopNewAddNumsInt) * 5 / 1000;