由于是金额,所以我用了Formatnumber()函数来处理金额保留两位小数,金额保留两位小数后加逗号,以及金额保留两位小数后比较。Formatnumber(available,2,-1,-1,0)得到129800.00,Formatnumber(num,2,-1,-1,0)得到10.00,为什么Formatnumber(available,2,-1,-1,0)>=Formatnumber(num,2,-1,-1,0)输出的结果是false呢?
asp里两位小数的比较弄得我好糊涂呀,特别是还加上cdbl(),转来转去的,弄得我很烦。
HTML code:
<%
Dim available,num
available=129800
num=10
a=Formatnumber(available,2,-1,-1,0)
b=Formatnumber(num,2,-1,-1,0)
response.write(a>=b)
%>
我这儿输出是TRUE啊 你找找其他原因 是变量值传错了么
FormatNumber 后,得到的是字符串
字符串比较,是逐字符,按码值比较大小的, 比如 "C" > "B" > "A"
VBScript code:
a = Formatnumber(129800, 2, -1, -1, 0)
b = Formatnumber(13, 2, -1, -1, 0)
' a = "129800.00"
' b = "13.00"
' "13..." 开头的 当然 大于 "12..." 开头的
MsgBox a > b
如果转成字符串后,再想按数值比较,就必须用 CDbl(strVal) 了
那楼上的,请问,该怎样比较呢?是cdbl(Formatnumber(available,2,-1,-1,0))>=cdbl(Formatnumber(num,2,-1,-1,0))改成这样么?
怎嘛,没人知道么?
还是应该