繁体   English   中英

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

[英]VB.net detect if a number is decimal or hexadecimal

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

例如,看这里:

1559727743788

0000016B2704A32C

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

正如Steve指出的那样,仅包含十进制数字的字符串可以是十进制数字或十六进制数字。 这是一些代码,它将测试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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM