下面的代码计算了我的数据的百分比。一切都很好,除了100%应该是红色(#B20000),但实际上是绿色(#32CD32)。我添加了一个特别指100%的选项,但即使这样也没有效果。有任何想法吗?谢谢
R = FormatPercent( objRsStat("active_beds") / objRsStat("total_beds"), 2 )
'R = objRsStat("percent_remaining")
If R =< "60%" Then
CL = "#32CD32"
ElseIf R => "61%" And R =< "79%" Then
CL = "#FF8000"
ElseIf R => "80%" Then
CL = "#B20000"
ELSEIF R = "100%" Then
CL = "#B20000"
END IF
更新的代码(有错误):
If R <= 0.6 Then
CL = "#32CD32"
ELSEIF R => 0.61 AND R <= 0.79 THEN
CL = "#FF8000"
ELSEIF R => 0.80 THEN
CL = "#B20000"
END IF
答案 0 :(得分:1)
你使用了错误的语法。 <= "60%"
会将R
中的数字值与字符串“60%”进行比较。 VBScript没有抱怨这个,因为它是按照设计允许的,但这也会导致无声的问题 - 就像你正在经历的那样。
您还使用了甚至无法运行的错误代码:“小于或等于”运算符为<=
而非=<
。)
试试这个:
If R <= 0.6 Then
CL = "#32CD32"
(您还需要删除FormatPercent
函数调用,否则会出现类型不匹配错误。)