如何使用VB.Net将4位十六进制(2字节)转换为十进制(浮点)值

时间:2018-08-19 10:39:57

标签: vb.net

我对VB.Net不太了解。我有D30E十六进制值,我想使用VB.Net将其转换为-11506

我使用以下代码,但没有获得适当的价值,我正在寻找简单的代码。

    ListBox1.Items.Add(Convert.ToDecimal(&HD30E))
    ListBox1.Items.Add(Convert.ToDouble(&HD30E))
    ListBox1.Items.Add(Convert.ToInt32(&HD30E, 16))
    ListBox1.Items.Add(Convert.ToInt64(&HD30E, 16))
    ListBox1.Items.Add(Convert.ToString(&HD30E, 16))
    ListBox1.Items.Add(Convert.ToUInt64(&HD30E, 16))

另一个示例是FFCO的值想要转换为-64

1 个答案:

答案 0 :(得分:0)

如果这是一个常量,则将其从字符串转换为Short(Int16):

ListBox1.Items.Add(Convert.ToInt16("0xD30E", 16))

如果您需要将其设为Decimal,只需再次转换结果即可:

Dim Value As Short = Convert.ToInt16("0xD30E", 16)
ListBox1.Items.Add(CType(Value, Decimal))

可读性较差,但更紧凑:

ListBox1.Items.Add(CType(Convert.ToInt16("0xD30E", 16), Decimal))