从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"))


请注意,该功能需要小数点,因为它是在系统的区域设置中配置的。

10-05 19:47