2014-02-20 16 views
1

我想補充一個給定的數字的總和,即1234總和添加一個數字的總和10 這是我的代碼用vb.net

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

使用數=數字\ 10個 –

回答

1

操作number/10使用常規除法,它將每個數字轉換爲浮點值,然後將結果強制轉換爲整數,因此可以再次存儲在number中。通過輸入123456,在第一次循環後,編號的新值是12346而不是12345,因爲它應該是。

相反,您需要使用number \ 10,它執行整數除法並且不輪。

有關VB運營商的更多信息here

+0

謝謝:)完美你能解釋一下你的代碼,請工作 – user3221761

0

此行number = number/10number = number \ 10

0

的Sub Main() Console.Title =( 「數字計算器的總和」) 昏暗的x,和作爲雙 X =的InputBox( 「輸入任何數量:」) 總和= 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 
+1

? – Michael