VB.net检测数字是十进制还是十六进制

时间:2015-06-30 22:14:33

标签: vb.net numbers hex decimal

我有一个VB.NET应用程序,我需要检查字符串中输入的数字是否为十六进制或十进制格式

例如,请看这里:

1559727743788

0000016B2704A32C

这是以十进制格式(第一个)和十六进制格式(第二个)写的相同数字。 如何编写自动检测案例的功能?感谢

1 个答案:

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