|
1
3
如果我理解正确的话,你认为这两个值是相等的,但由于VBScript比较的是字符串而不是数字,所以这两个结果是不相等的。 您的转换想法是正确的,以下是代码:
这将把字符串值转换为数字以进行比较。 |
|
|
2
1
你的问题加起来不太清楚,所以我不确定问题是什么。我会尽量澄清一些关于数据类型和比较的问题。 您正在为变量使用前缀“str”,这表明您打算在其中存储字符串值,但实际上是在其中存储数值。要么你对如何使用匈牙利符号来跟踪数据类型感到困惑,要么你发布的代码看起来不像你实际使用的代码。 数值33.30与数值33.3完全相同。如果你改为使用字符串值“33.30”和“33.3”,它们将是两个不相等的字符串。 如果您的代码被更正(Response.Write而不是Response.Writer)以使其运行,则它根本不会产生任何输出。由于值相等,if语句中的条件计算结果为false。 如果你确实为变量分配了字符串值,代码将输出“两者都不相等!”。这正如预期的那样,因为字符串不相等。如果你有字符串并想将其作为数值进行比较,你必须对它们进行比较:
|
|
|
3
0
尝试在比较语句中将值转换为double CDbl() |
|
|
4
0
您打算以字符串、浮点数或其他方法进行比较吗?如果你将它们作为字符串进行比较,那么很明显它们是不相等的,因为其中一个字符串的末尾有一个额外的零。如果你将它们作为浮点数进行比较,那么你通常希望使用一种比较方法,即取差值并检查它是否小于某个小值。这是因为浮点数计算涉及一定程度的不准确性,并且由于底层表示,它们之间的比较可能会失败。 |