为什么5.5 =" 5.5"在VBA中返回true?
直接将数值与vba中的字符串值进行比较是否可以接受?
返回true
if 5.5 = "5.5" Then ...
答案 0 :(得分:0)
这可能会因为基于意见而被关闭,但我会说是的,这是可以接受的。例如,在将单元格值与数字进行比较或添加单元格值时,通常会使用它。 IE如果我的单元格包含一个字符串,如abcde123,我只想使用123,我只能取字符串的3个正确的字符并直接使用它们。如果你想要非常严格,你可以使用Cint(字符串),但我认为没有必要。
答案 1 :(得分:0)
看起来VBA将字符串转换为Double并进行比较。来自comparison operators
上的页面如果操作数为:一个数字和一个字符串
比较是:将字符串转换为Double并执行数字比较。如果String无法转换为Double,则抛出InvalidCastException。