变量定义中的明显错误值?

Apparent incorrect value from variable definition?

VBA 的新手,不太擅长,所以请保持温柔!

我有以下代码为 Long 类型变量 "EIa" 赋值。后来我在代码中得到了一堆奇怪的结果,所以我输入了一些 Debug.Print 行来查找我的问题并注意到当我 Debug.Print 变量 EIa 时,我得到 0 但如果我 Debug.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

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