我想添加一个给定数字的总和,即1234,总和是10 这是我的代码
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim number As Integer
Dim r As Integer
Dim sum As Integer
number = Val(TextBox1.Text)
While (number <> 0)
r = number Mod 10
sum = sum + r
number = number / 10
End While
Label3.Text = sum
End Sub
但是当我输入123456时,它给了我24而不是21,我的代码有什么问题?
答案 0 :(得分:1)
操作number / 10
使用常规除法,它将每个数字转换为浮点值,除以后,然后将结果强制转换(舍入)为整数,以便将其存储在number
中再次。使用输入123456
,在第一次循环之后,数字的新值为12346
,而不是12345
。
相反,您需要使用number \ 10
,它执行整数除法并且不会舍入。
有关VB运算符的更多信息here。
答案 1 :(得分:0)
此行number = number / 10
应为number = number \ 10
答案 2 :(得分:0)
Sub Main() Console.Title =(“数字和计算器”) Dim x,sum As Double x = InputBox(“输入任意数字:”) sum = 0
While x > 0
sum += x Mod 10
x = (x / 10) - ((x Mod 10) / 10)
End While
Console.WriteLine("The sum of digits = " & sum)
Console.ReadKey()
End Sub