从MySQL中提取2个十进制值,并尝试使用一个非常简单的if语句:
if subtotal < minval then DO THIS else DO THIS
它始终认为小计可能较小,即使可能并非如此。
IsNumeric
确认这两个值都是数字。如果我使用minval=19.99
而不是从数据库中提取它,它将起作用。检索
minval
的代码如下所示:Set rscontrol = db.Execute("select * from websitecontrol ")
minval = FormatNumber(rscontrol("minordervalue"))
最佳答案
FormatNumber
是用于格式化显示值的功能。它返回一个格式化的字符串。
>>> n = 1.25
>>> WScript.Echo TypeName(n)
Double
>>> WScript.Echo TypeName(FormatNumber(n))
String
除非打算显示结果,否则切勿使用格式化功能。
更改
minval = FormatNumber(rscontrol("minordervalue"))
至
minval = rscontrol("minordervalue")
如果仍然不能解决问题,您可以使用
CDbl
函数将值强制为两倍。minval = CDbl(rscontrol("minordervalue"))
请注意,该功能需要小数点,因为它是在系统的区域设置中配置的。