我有以下代码,它接受一个字符串temp,肯定有2个数字用“(”分隔,然后对它们进行几个数学运算。我在尝试时遇到类型不匹配错误尽管如此,尽管使用CDec将它们转换为十进制数字。我可以做错什么?谢谢。
tempArry = Split(temp, " ")
tolTemp = (CDec(tempArry(LBound(tempArry)) + tempArry(LBound(tempArry) + 2))) / 2
noms(j) = tolTemp
tols(j) = tolTemp - CDec(tempArry(LBound(tempArry)))
答案 0 :(得分:1)
根据您的评论,您似乎可以假设您可以添加两个字符串作为数字。
由于输入(temp
变量)是一个字符串,因此您尝试添加的数组元素也是字符串,因此当您编写tempArry(LBound(tempArry)) + tempArry(LBound(tempArry) + 2)
时,输出将是两个字符串的串联(这是112.34117.89
- 因此类型不匹配)。
要解决此问题,请在尝试添加之前将两者转换为十进制:
tolTemp = (CDec(tempArry(LBound(tempArry))) + CDec(tempArry(LBound(tempArry) + 2))) / 2