實時錯誤6溢位,為什麼會實時錯誤6 溢位

2022-03-04 03:26:40 字數 3983 閱讀 3300

1樓:尚子素

首先60.1000預設是整數,相乘還應該返回整數,但結果超過範圍,所以溢位。

不管你將a定義什麼型別, a = 60 * 1000要做的首先是將60*1000返回整數,然後才去轉換成a的型別

所以要實現將60和1000轉成大的資料型別。再相乘才可以

2樓:匿名使用者

60是整型 最大不過32,767

a=60& * 1000

#號是 double 不是long

3樓:匿名使用者

是超出了資料範圍

你只要改成a = 60# * 1000#就可以了#是long 資料型別標誌符

記得採納~

4樓:

在 command1裡面定義的變數在form_load裡面不可用,否則這幾個變數就變成預設值0,當然出錯了

第二,b = tex2.text這句錯了,應該是b = text2.text

第三,程式邏輯上的失誤,form_load在程式載入前已經執行了,那麼abc都沒有定義值,肯定錯了

綜上所訴,可以把**改為

private sub command1_click()

dim a as double

dim b as double

dim c as double

dim d as double

a = text1.text

b = text2.text

d = 10000

if b > a then c = (((b - a) / a) + 1) else c = (1 - ((a - b) / a))

d = d * c

print d

end sub

5樓:匿名使用者

你理解的a溢位是錯誤的,實際是計算過程溢位。

在vb裡計算過程以表示式(60 * 1000)中最大的數值型別開闢計算用的臨時暫存器,對於60 * 1000最大數是1000(它在整型變數integer範圍內),所以開闢的臨時暫存器是兩位元組的,而計算的結果是60000(它是長整型的,佔四位元組),四位元組結果無法放入兩位元組暫存器,所以就溢位了。

解決辦法是強制轉換表示式(60 * 1000)中的乙個數到長整,其它的計算過程也類似。

a = clng(60) * 1000

或a = 60 * clng(1000)

6樓:

private sub command1_click()dim a as double

dim s as string

a = 60 * 1000

s=amsgbox s

end sub

為什麼會實時錯誤6 溢位

7樓:misshappy是我

會實時錯誤6 溢位的原因是當賦值超出目標的限制時,就會發生溢位。此錯誤有以下的原因和解決方法:

賦值、計算或資料型別的結果的轉換太大,以致於不能在變數型別所允許的範圍內表示出來。賦值給足夠表示值的範圍的型別的變數上。給屬性的賦值超過屬效能接受的最大值。

確保賦值適合屬性的範圍。

8樓:匿名使用者

幾個地方錯了

第一,全域性變數和區域性變數的問題,在 command1裡面定義的變數在form_load裡面不可用,否則這幾個變數就變成預設值0,當然出錯了

第二,b = tex2.text這句錯了,應該是b = text2.text

第三,程式邏輯上的失誤,form_load在程式載入前已經執行了,那麼abc都沒有定義值,肯定錯了

綜上所訴,可以把**改為

private sub command1_click()

dim a as double

dim b as double

dim c as double

dim d as double

a = text1.text

b = text2.text

d = 10000

if b > a then c = (((b - a) / a) + 1) else c = (1 - ((a - b) / a))

d = d * c

print d

end sub

vb執行時出現"實時錯誤6 溢位"是怎麼回事?

9樓:遠風的夢想家

'數字太大 把所有integer換成long就可以了,像下面這樣 integer範圍最大是32767,long的範圍是21億

private sub bok_click()dim bb as long

bb = test(2342342)

msgbox (bb)

end sub

function test(a as long) as longdim b as long

b = a * 100

test = b

end function

vb 實時錯誤6,溢位

vb 實時錯誤6 溢位

10樓:稻子

yc = 32 * 10000 * 10000 * 2000 * (1 + 1.01972 * 10 ^ (-8) * 91230)

32是整型 之後運算的結果遠超於整型資料能表達的範圍 所以溢位錯誤第二個也是一樣

如果你改成

dim a as double

a=32

yc =a * 10000 * 10000 * 2000 * (1 + 1.01972 * 10 ^ (-8) * 91230)

就不會有問題了

或者 yc = 32# * 10000 * 10000 * 2000 * (1 + 1.01972 * 10 ^ (-8) * 91230)

用隱式申明將32作為double型別來處理

11樓:匿名使用者

e = b / (0.81 * a / 74 * 137)e = 0 / (0.81 * 0 / 74 * 137)0能除以0?

a=text1.text

b=text2.text

text3.text=e 這才是你想要的

vb 實時錯誤6 溢位不知道為什麼

12樓:匿名使用者

改成dim t(1 to 50 ) as long

print "第" & i & "個月的兔子為:" & t(50)

13樓:匿名使用者

long長整型其範圍從-2,147,483,648 到 2,147,483,647

因超出範圍,所以溢位

dim t(50) as double,這樣就可以了

vb6.0精簡版經常出現實時錯誤6「溢位」求解!!!ctrl c者滾!!!

14樓:匿名使用者

變數的資料型別有選好麼?如果變數值超過你給他定義的資料型別所劃出的記憶體!也會出現溢位的啊!

vb實時錯誤6 溢位

15樓:令狐腫

定義q1的時候,記得宣告q1的型別,可以是double。

public const q1 as double = 33或者:public const q1# = 33#不一定要是33。定義m和p也一樣。

如果不想改變這三個變數宣告的型別,可以用cdbl臨時轉化,那麼表示式應該為

q = cdbl(q1) / (2# * cdbl(m) * cdbl(p))

最好把q也定義成double,如果懶得定義,可以把每個q都改成q#。任何常數後面加#都表示雙精度型。

16樓:匿名使用者

是記憶體溢位還是堆積空間溢位。請不要過多的重複乙個語句即可解決問題。

PS cs6版本裡的實時形狀屬性面板為什麼只顯示蒙版模式?沒有改變形狀的屬性啊

如果拉出乙個矩形,沒有調節過節點,實時屬性就還存在。一旦動過節點,或者是合併過形狀元件的話,這個形狀實時屬性就沒有了。adobephotoshopcs6是adobephotoshop的第13代,是乙個較為重大的版本更新。photoshop在前幾代加入了gpuopengl加速 內容填充等新特性,此代會...

高德地圖北京近期為什麼不顯示實時公交了

使用高德地圖的實時公交,需要具備兩個條件,一是必須聯網執行,二是必須開啟 兩個條件只要有乙個不具備,就沒法使用。北京實時公交高德地圖為什麼看不見車輛資訊了?地圖軟體bai只能搜尋和du 規劃公交路線和轉 你好,地圖軟體只能搜尋和規劃 高德地圖的實時公交怎麼不能用了?目前深圳 北京和武漢的高德地圖的實...

AI中用網格工具繪製路徑為什麼用實時上色不能填色

這個不能用實時上色工具。這個網格上色的時候,你可以從色板面板裡面直接把顏色拖過來,拖到你需要上色的地方。你要選取其中的節點上色或者是選取全部節點後上色 在ai中,如何在實時上色組中新增路徑?3種方法,注意隔離 時有淺色外框。1.通過使用選擇工具,雙擊實時上色組 或單擊 控制 面板中的 隔離選定的組 ...