Private Sub Command3_Click()
Dim WI, QI, CPi, Bth, CPj, CJ, RK, CPk, Shk, F5, PI As Long
PI = 3.14159265358979Text1.Text = WI
Text2.Text = QI
Text3.Text = CPi
Text4.Text = Bth
Text5.Text = CPj
Text6.Text = CJ
Text7.Text = RK
Text8.Text = CPk
Text9.Text = Shk
Dim a, b, c, d, e, f
a = (WI + QI) * Cos(CPi * PI / 180)
b = (RK + Shk) * Sin(CPk * PI / 180) * Tan(CPj * PI / 180 / 180)
c = CJ * (Bth / Cos(CPi * PI / 180))
d = CLng((RK / Shk) * Cos(CPk * PI / 180))
e = (WI + QI) * Sin(CPi * PI / 180)
F5 = (a + b + c + d) / e
Text10.Text = F5
Print Text10.TextEnd Sub
d =(RK / Shk) * Cos(CPk * PI / 180)
这句会溢出,请问怎么解决,是算一道力学题

解决方案 »

  1.   


    Dim WI As Long, QI As Long, CPi As Long, Bth As Long, CPj As Long, CJ As Long, RK As Long, CPk As Long, Shk As Long, F5 As Long, PI As Long
      

  2.   

    最开始就有错了
    开头声明了
    PI As Long
    下一句却是
    PI = 3.14159265358979
      

  3.   

    如果在DIM中没的指出类型,则默认为可变类型,
    定义同楼上
      

  4.   

    d = (RK / Shk) * Cos(CPk * PI / 180)
    在这句上还是会溢出,大虾,请帮忙调试一下吧
    溢出以后所有的数据都变成0了
      

  5.   

    ???不是所有数据都变成0,而是所有数据都本来就是0么。你定义了那么多变量,却一个也没有赋值,不是0才怪????SHK=0 ,所以 RK / 0 溢出。不溢出才怪呢。有什么问题???我看是不是你的中间一串赋值语句都写反了?
      

  6.   

    Text1.Text = WI
    Text2.Text = QI
    Text3.Text = CPi
    Text4.Text = Bth
    Text5.Text = CPj
    Text6.Text = CJ
    Text7.Text = RK
    Text8.Text = CPk
    Text9.Text = Shk为什么这些值都赋不进去,的确都是0
    谢谢提醒啊
      

  7.   

    Private Sub Command1_Click()Dim WI As Single, QI As Single, CPi As Single, Bth As Single, CPj As Single, CJ As Single, RK As Single, CPk As Single, Shk As Single, F5 As Single
    Const PI = 3.14159265358979WI = 1
    QI = 1
    CPi = 1
    Bth = 1
    CPj = 1
    CJ = 1
    RK = 1
    CPk = 1
    Shk = 1Text1.Text = WI
    Text2.Text = QI
    Text3.Text = CPi
    Text4.Text = Bth
    Text5.Text = CPj
    Text6.Text = CJ
    Text7.Text = RK
    Text8.Text = CPk
    Text9.Text = Shk
    Dim a As Single, b As Single, c As Single, d As Single, e As Single, f As Single
    a = (WI + QI) * Cos(CPi * PI / 180)
    b = (RK + Shk) * Sin(CPk * PI / 180) * Tan(CPj * PI / 180 / 180)
    c = CJ * (Bth / Cos(CPi * PI / 180))
    d = RK / Shk * Cos(CPk * PI / 180)
    e = (WI + QI) * Sin(CPi * PI / 180)
    F5 = (a + b + c + d) / e
    Text10.Text = F5
    Print Text10.Textd = (RK / Shk) * Cos(CPk * PI / 180)End Sub