来自变量定义的明显不正确的值?

时间:2015-08-04 17:00:33

标签: vba variables definition

VBA新手并且很糟糕,所以请保持温和!

我有以下代码,它给出了Long类型变量" EIa"一个值。我后来在代码中得到了一堆奇怪的结果,所以我放入了一些Debug.Print行找到我的问题,并注意到当我调试变量EIa时,我得到0但是如果我调试.Print正确表达式定义EIa,我得到预期值。下面的代码,任何想法?

        'Calculate mA1:
'****************************************************************************************************
EIa = Etimber * ImatA / (Etimber * (ImatA + ImatB + ImatC + ImatD))
Debug.Print "EIa = "; EIa
Debug.Print "EIa = "; Etimber * ImatA / (Etimber * (ImatA + ImatB + ImatC + ImatD))
mA1 = 12 * 0.5 * (q1PSF * EIa) * bMat * LcantiA ^ 2 '12 puts this into lb-in
    If LmatSymA = 0 Then
        fbA1 = 0
    Else
        fbA1 = (mA1 * (0.5 * tMatA) / ImatA)
    End If

1 个答案:

答案 0 :(得分:0)

表达式的结果是一种小数浮点数,但由于您将EIa定义为Long(大整数),因此在赋值时会将其截断为零。 请参阅Visual Basic Data Types