Dim k1, k2, k3m, k4m, la3, la4, lam, ga, w3, w4, xf, ye, ctm, ctf, cfd, cl, fi1, fi2, fi3, fi4, fi3f, fi4f, fi5, wf, ad, r1, r2, m1, m2, f3, f4, a0, a1, a2, a4, b1, b2, b4, b5, G, B, C, nt3d, nt4d, nt1d, nt2d As Double
這一句顯示溢位
b1 = r1 * r2 * (Exp(r1 * (xf - xe)) - Exp(r2 * (xf - xe))) / (r1 * Exp(r2 * (xf - xe)) - r2 * Exp(r1 * (xf - xe)))
求大神救救我吧!!!!!!!!!!!!!!
uj5u.com熱心網友回復:
MsgBox 0 / 0uj5u.com熱心網友回復:
你省略了As Double的那些變數并不是double型的,你還是補補全宣告還有檢查一下,(r1 * Exp(r2 * (xf - xe)) - r2 * Exp(r1 * (xf - xe))) 這一部分是不是結果為0了
uj5u.com熱心網友回復:
首先,因為你偷懶,所有變數只有最后一個是doubule,其他都不是報錯的時候檢查 (r1 * Exp(r2 * (xf - xe)) - r2 * Exp(r1 * (xf - xe))) 。不一定是0,還有可能是這個值非常小,總之,報錯的時候把這個式子分解開來一步一步計算,看哪個步驟溢位了。再去檢查數值或者邏輯是否正確。
uj5u.com熱心網友回復:
MD,你啥值都不賦,那個除法就變成0/0 ,讓然溢位。
另外式子里面的xe沒有定義
uj5u.com熱心網友回復:
先將復合運算式手動拆解為盡量簡單的分步運算式,再單步除錯。uj5u.com熱心網友回復:
溢位多半就是除0了 沒什么好說的,檢查一下吧uj5u.com熱心網友回復:
溢位(錯誤 6),當賦值超出目標的限制時,就會發生溢位。此錯誤有以下的原因和解決方法:
賦值、計算或資料型別的結果的轉換太大,以致于不能在變數型別所允許的范圍內表示出來。
賦值給足夠表示值的范圍的型別的變數上。
給屬性的賦值超過屬性能接受的最大值。
確保賦值適合屬性的范圍。
試圖在計算中使用一個數字,并且該數字被強制為一個整數,但是結果超過了整數的范圍,例如:
Dim x As Long
x = 2000 * 365 ' 錯誤: 溢位
要解決這個問題,請按如下方式鍵入該數字:
Dim x As Long
x = CLng(2000) * 365
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/46900.html
標籤:VB基礎類
