【问题标题】:VB.net detect if a number is decimal or hexadecimalVB.net 检测数字是十进制还是十六进制
【发布时间】:2015-06-30 22:14:33
【问题描述】:

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

例如,看这里:

1559727743788

0000016B2704A32C

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

【问题讨论】:

  • 您打算如何区分字符串“99”是十进制数 99 还是十六进制数“99”(dec 153)?在你的字符串中没有前缀你不能

标签: vb.net numbers hex decimal


【解决方案1】:

正如史蒂夫指出的那样,仅由十进制数字组成的字符串可以是十进制数或十六进制数。下面是一些代码,它将测试 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

【讨论】:

    猜你喜欢
    • 2015-05-23
    • 2018-06-27
    • 2011-04-14
    • 2013-06-09
    • 2022-01-20
    • 1970-01-01
    • 2023-03-14
    • 2011-12-09
    • 2018-07-26
    相关资源
    最近更新 更多