如何在Visual Basic中獲取字符串中所有數字的總和?如何獲取字符串中所有數字的總和 - Visual Basic 2010(模塊)
---例如---
Dim userWord As String
userWord = Console.ReadLine()
用戶輸入: 「狐跳過了12月亮」
輸出顯示:3
如何在Visual Basic中獲取字符串中所有數字的總和?如何獲取字符串中所有數字的總和 - Visual Basic 2010(模塊)
---例如---
Dim userWord As String
userWord = Console.ReadLine()
用戶輸入: 「狐跳過了12月亮」
輸出顯示:3
您可以使用LINQ
Dim input As String = "Fox jumped over the 12 moon"
Dim sum As Integer = input.Where(Function(c) [Char].IsDigit(c))
.Sum(Function(x) Integer.Parse(x.ToString()))
這將提取所有的數字([Char].IsDigit]
)的字符,然後將這些字符轉換爲整數(Integer.Parse
),而對它們求和。
Dim mytext As String = "Fox jumped over the 12 moon"
Dim i As Integer = 0
For Each ch As Char In mytext
Dim temp As Integer = 0
If Integer.TryParse(ch, temp) Then
i += temp;
End If
Next
這是我在我的代碼到目前爲止: ' 昏暗userWord作爲字符串 昏暗myChars()爲char = userWord.ToCharArray() 昏暗我爲整數= 0 對於各自爲CH爲CHAR在myChars 如果Char.IsDigit(CH)筆母雞 i + = Convert.ToInt32(ch) End If Next 控制檯。的WriteLine( 「的在字符串的所有數字和:」) Console.WriteLine(ⅰ) ' 用戶輸入:Fox12 輸出:99 我想要的輸出爲3(1 + 2 = 3)。你能詳細說明1 + 2 = 99嗎?我錯過了什麼嗎? – Matt
提出了一個斷點和調試。查看Char.IsDigit(ch)是否爲2次 – Krishna
這不起作用。它是如何獲得兩個upvotes?問題是不理解Convert.ToInt32 – dbasnett
以下是我在我的代碼到目前爲止:
Dim userWord As String
Dim myChars() As Char = userWord.ToCharArray()
Dim i As Integer = 0
For Each ch As Char In myChars
If Char.IsDigit(ch) Then
i += Convert.ToInt32(ch)
End If
Next
Console.WriteLine("Sum of all digits in the String: ")
Console.WriteLine(i)
用戶輸入:Fox12 輸出:99
我想要的輸出爲3(1 + 2 = 3 )。你能詳細說明1 + 2 = 99嗎?
我錯過了什麼嗎?
我們看一些代碼 – Krishna
(對不起,習慣在網站這整個事情的格式) 「昏暗userWord作爲字符串 Console.WriteLine(「輸入一個句子,所以該程序可以玩它「) Console.WriteLine(」按下回車鍵結束程序「) userWord =到Console.ReadLine() Console.WriteLine(」在字符串中所有數字之和。「) //這是我被卡住的部分 \t Dim num As Char()= {「0」,「1」,「2」,「3」,「4」,「5」,「6」,「7」,「8」,「9 「} 暗淡我作爲整數 昏暗總爲整數 如果(Integer.TryParse(NUM,I))然後 Console.WriteLine(總= I + I) 結束如果」 – Matt