【发布时间】:2022-01-13 09:19:37
【问题描述】:
从 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"))
【问题讨论】:
-
检查从数据库中提取的值的类型 (
TypeName(minval))。您很可能正在将两个字符串或一个字符串与实际数字进行比较。在这里检查IsNumeric并没有真正的帮助,因为它评估表达式是否可以评估为数字,对于仅包含数字的字符串也是如此。如需进一步帮助:显示您的代码。 -
这两个值都在 MySQL 中存储为十进制 (19,2)。 typename 将小计显示为 double,我认为这对于数字是正确的,但 minval 显示为字符串,所以我想这是我的问题,你能告诉代码它是数字吗?
标签: mysql if-statement vbscript asp-classic