我試圖制作一個函式,從數字中減去數字,例如 number 25
,以顯示結果3
(因為5-2=3
) -smallest
從數字中減去large
- 而從1
to的數字9
將保持不變,因此它只會考慮是什么2 位數。不幸的是,我的嘗試有點失敗,我需要一點幫助。
Dim lines As String() = originalString.Split(CChar(Environment.NewLine))
For Each line As String In lines
Dim lineSum As String = 0
Dim index As Integer = 0
Dim numchars1 As Char
Dim numchars2 As Char
For Each numberChar As Char In line
index = 1
If index = 1 Then
numchars1 = numberChar
End If
If index >= 2 Then
numchars2 = numberChar
End If
Next
If Val(numchars1) AndAlso Val(numchars2) > 0 Then
If Val(numchars2) > Val(numchars1) Then
lineSum = Val(numchars2) - Val(numchars1)
ElseIf Val(numchars1) > Val(numchars2) Then
lineSum = Val(numchars1) - Val(numchars2)
End If
Else
lineSum = numchars1
End If
uj5u.com熱心網友回復:
您可以使用這種方法:
Public Shared Function Subtract(number As String) As Int32?
If Not number.All(AddressOf Char.IsDigit) Then Return Nothing
Dim allNumbers As Int32() = number.Select(Function(c) CInt(Char.GetNumericValue(c))).ToArray()
Dim highest = allNumbers.Max()
Return highest - (allNumbers.Sum() - highest)
End Function
請注意,“555”的結果將為 -5,因為 5 - 5 - 5
uj5u.com熱心網友回復:
請注意,如果您取差值的絕對值,則會得到您想要的數字:
Function AbsDiff(num As String) As Integer
Dim a = Convert.ToInt32(num(0))
Dim b = Convert.ToInt32(num(1))
Return Math.Abs(a - b)
End Function
您可能希望也可能不希望在函式中或在將其傳遞給函式之前檢查有效資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/536771.html
標籤:网络
下一篇:電腦優化與清理