我有一个VB.NET应用程序,我需要检查字符串中输入的数字是否为十六进制或十进制格式
例如,请看这里:
1559727743788
0000016B2704A32C
这是以十进制格式(第一个)和十六进制格式(第二个)写的相同数字。 如何编写自动检测案例的功能?感谢
答案 0 :(得分:2)
史蒂夫指出,只包含十进制数字的字符串可以是十进制数字或十六进制数字。下面是一些代码,它们将测试TextBox的内容,并报告(a)是否为十进制数,以及(b)是否为十六进制数。该代码假定十六进制数字始终具有偶数位数。如果不需要,请删除(num.Length Mod 2 = 0) AndAlso
Dim decNum, hexNum As Boolean
Dim num As String = TextBox1.Text
If num <> "" Then
decNum = num.All(Function(c) Char.IsDigit(c))
hexNum = (num.Length Mod 2 = 0) AndAlso num.All(Function(c) "0123456789abcdefABCDEF".Contains(c))
End If
Label1.Text = "Possible dec: " & decNum & " - possible hex: " & hexNum