如何使用VB将十进制转换为十六进制?

时间:2016-03-25 23:41:04

标签: vb.net visual-studio-2015

我尝试使用此代码将Decimal转换为十六进制,但它不起作用。

Dim i As Integer
    Dim x As String = sASC
    i = Convert.ToInt32(x, 16)
    TextBox8.Text = i

这是我想要融合的。 912,697,583,1065,261,627,53,703,544,697,924,1003,697

1 个答案:

答案 0 :(得分:1)

您可以在Linq中使用一行代码来实现目标

Dim input = "912,697,583,1065,261,627,53,703,544,697,924,1003,697"

Dim result = String.Join(",", input.Split(","c).
                              Select(Function(x) _
                              Convert.ToInt32(x).ToString("X")))
Console.WriteLine(result)

' 390,2B9,247,429,105,273,35,2BF,220,2B9,39C,3EB,2B9

这会将输入字符串中的每个值转换为等效的十六进制值,并使用逗号分隔符重建字符串

返回基数10的值是(结果来自前一个代码)

Dim result2 = String.Join(",", result.Split(","c).
                          Select(Function(x) _
                          Convert.ToInt32(x, 16).ToString()))
Console.WriteLine(result2)