书中程序的问题
设计一个窗体,计算输入整数的各位数字之和。书中的程序如下:
Private Sub cmd1_Click()
n = 0
a = Val(txt1.Text)
While a > 0
n = n + a Mod 10
a = a / 10
Wend
txt2.Text = n
End Sub
我修改了一下:
Private Sub cmd1_Click()
n = 0
a = Val(txt1.Text)
While a > 0
n = n + a Mod 10
a = Int(a / 10)
Wend
txt2.Text = Str$(n)
End Sub
但是显然程序没有考虑到用户如果输入的数字超过10位,也就是不在长整形范围内,会发生溢出。可我加上了dim a as single dim n as single,程序没调通,停在了n=n+a mod 10这一行。请问是什么原因,如何修改?另外我对书里程序的修改有无必要?