等于时返回true的字符串和数值

时间:2015-06-29 17:26:59

标签: excel vba excel-vba

为什么5.5 =" 5.5"在VBA中返回true?

直接将数值与vba中的字符串值进行比较是否可以接受?

返回true

if 5.5 = "5.5" Then ...

2 个答案:

答案 0 :(得分:0)

这可能会因为基于意见而被关闭,但我会说是的,这是可以接受的。例如,在将单元格值与数字进行比较或添加单元格值时,通常会使用它。 IE如果我的单元格包含一个字符串,如abcde123,我只想使用123,我只能取字符串的3个正确的字符并直接使用它们。如果你想要非常严格,你可以使用Cint(字符串),但我认为没有必要。

答案 1 :(得分:0)

看起来VBA将字符串转换为Double并进行比较。来自comparison operators

上的页面

如果操作数为:一个数字和一个字符串

比较是:将字符串转换为Double并执行数字比较。如果String无法转换为Double,则抛出InvalidCastException。