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.通過使用選擇工具,雙擊實時上色組 或單擊 控制 面板中的 隔離選定的組 ...