使用vb.net添加数字的总和

时间:2014-02-20 02:28:26

标签: vb.net

我想添加一个给定数字的总和,即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,我的代码有什么问题?

3 个答案:

答案 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