Dim a(9) As Double
Dim b(9) As Byte
Dim i As Integer
Dim num As Double
a(0) = 100
a(1) = 50
a(2) = 10
a(3) = 5
a(4) = 1
a(5) = 0.5
a(6) = 0.1
a(7) = 0.05
a(8) = 0.01i = 0
num = Text.TextDo While i <= UBound(a)
Do While num >= a(i)
num = num - a(i)
b(i) = b(i) + 1
Loop
Txt(i).Text = b(i)
i = i + 1
Loop为何运行会提示溢出 b(i) = b(i) + 1
Dim b(9) As Byte
Dim i As Integer
Dim num As Double
a(0) = 100
a(1) = 50
a(2) = 10
a(3) = 5
a(4) = 1
a(5) = 0.5
a(6) = 0.1
a(7) = 0.05
a(8) = 0.01i = 0
num = Text.TextDo While i <= UBound(a)
Do While num >= a(i)
num = num - a(i)
b(i) = b(i) + 1
Loop
Txt(i).Text = b(i)
i = i + 1
Loop为何运行会提示溢出 b(i) = b(i) + 1
Dim b(9) As Byte
-------------------------
改为
Dim a(8) As Double
Dim b(8) As Byte
b的数据范围改大一点:Dim b(8) As Double---------------------------
Dim a(8) As Double
Dim b(8) As DouBle
Dim i As Integer
Dim num As Double
a(0) = 100
a(1) = 50
a(2) = 10
a(3) = 5
a(4) = 1
a(5) = 0.5
a(6) = 0.1
a(7) = 0.05
a(8) = 0.01i = 0
num = Text.TextDo While i <= UBound(a)
Do While num >= a(i)
num = num - a(i)
b(i) = b(i) + 1
Loop
Txt(i).Text = b(i)
i = i + 1
Loop