Ncalc 公式计算出意外结果

Ncalc formula evaluates to unexpected result

我有一个要计算的公式 "6*6*6*6*6*6*5*6*6*6*5*6*5" Ncalc returns = -1031662592 当答案应该是(我希望是)= 7558272000

代码相当简单

 Function StraightEval(Formula As String)
    Try
        Dim X As New Expression(Formula)
        Dim result = X.Evaluate
        Return result
    Catch ex As Exception
        MessageBox.Show(ex.Message)
        Return "Error " & ex.Message
    End Try

End Function

关于差异以及如何解决它的任何想法?我知道我可以编写自己的小函数来拆分字符串并在循环中进行数学运算,但我只是先问了这个问题。

我的想法是设置 result = 6*6*6*6*6*6*5*6*6*6*5*6*5 会导致溢出其限制 2,147,483,647 因为它似乎默认为整数,结果被解释为负数。

我相信

Function StraightEval(Formula As String)
    Try
        Dim X As New Expression(Formula)
        Dim result as Long = X.Evaluate
        Return result
    Catch ex As Exception
        MessageBox.Show(ex.Message)
        Return "Error " & ex.Message
    End Try

End Function

会修复它。