经典ASP FormatPercent忽略了100%?

时间:2016-10-10 14:22:30

标签: asp-classic percentage

下面的代码计算了我的数据的百分比。一切都很好,除了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

1 个答案:

答案 0 :(得分:1)

你使用了错误的语法。 <= "60%"会将R中的数字值与字符串“60%”进行比较。 VBScript没有抱怨这个,因为它是按照设计允许的,但这也会导致无声的问题 - 就像你正在经历的那样。

您还使用了甚至无法运行的错误代码:“小于或等于”运算符为<=而非=<。)

试试这个:

If R <= 0.6 Then
    CL = "#32CD32"

(您还需要删除FormatPercent函数调用,否则会出现类型不匹配错误。)