返回列表 上一主題 發帖

解一元二次方程式...(溢位問題)求解

解一元二次方程式...(溢位問題)求解

請問各位大大, 下面程式有溢位問題?
請問如何解???
  1. Sub 解一元二次方程式()

  2. Dim X1 As String, X2 As String

  3.     If B ^ 2 - 4 * A * C >= 0 Then

  4.         X1 = (-1 * B + (B ^ 2 - 4 * A * C) ^ 0.5) / (2 * A)

  5.         X2 = (-1 * B - (B ^ 2 - 4 * A * C) ^ 0.5) / (2 * A)

  6.         If InStr(X1, ".") <> 0 Then

  7.             Text4.Text = Format(X1, "0.00")

  8.         Else

  9.             Text4.Text = X1

  10.         End If

  11.         If InStr(X2, ".") <> 0 Then

  12.             Text5.Text = Format(X2, "0.00")

  13.         Else

  14.             Text5.Text = X2

  15.         End If

  16.     Else

  17.         If B ^ 2 - 4 * A * C = 0 Then

  18.             X1 = (-1 * B) / (2 * A)     '重根

  19.             X2 = (-1 * B) / (2 * A)     '重根

  20.             If InStr(X1, ".") <> 0 Then

  21.                 Text4.Text = Format(X1, "0.00")

  22.             Else

  23.                 Text4.Text = X1

  24.             End If

  25.             If InStr(X2, ".") <> 0 Then

  26.                 Text5.Text = Format(X2, "0.00")

  27.             Else

  28.                 Text5.Text = X2

  29.             End If

  30.         Else

  31.             MsgBox "本方程式無實數解", vbExclamation

  32.         End If

  33.     End If

  34. End Sub

  35. Private Sub Command1_Click()

  36. Dim A As Integer, B As Integer, C As Integer

  37.     A = Val(Text1.Text)

  38.     B = Val(Text2.Text)

  39.     C = Val(Text3.Text)

  40.     解一元二次方程式 A, B, C

  41. End Sub

  42. Private Sub Command2_Click()

  43.     Text1.Text = ""

  44.     Text2.Text = ""

  45.     Text3.Text = ""

  46.     Text4.Text = ""

  47.     Text5.Text = ""

  48. End Sub

  49. Private Sub Text1_KeyPress(KeyAscii As Integer)

  50.     If InStr("0123456789-" & Chr(8) & Chr(13), Chr(KeyAscii)) = 0 Then KeyAscii = 0

  51.     If Len(Text1.Text) = 2 Then

  52.         If Left(Text1.Text, 1) <> "-" Then

  53.             Text1.Text = Left(Text1.Text, 1)

  54.         End If

  55.     End If

  56. End Sub
複製代碼
謝謝
Ian

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題