hex()函数返回错误的值 - 为什么?

时间:2015-07-09 14:28:39

标签: vb.net

我有一个VB.net项目,我需要将一个字符转换为十六进制值。根据{{​​3}},我试过这个(例子):

Dim sChar as String = "€"
Dim sNum as Integer = AscW(sChar)
Dim sHex as String = hex(sNum).ToString

当我在此之后设置断点时,我在直接控制台中获取这些值:

?sNum
8364
?hex(sNum)
"20AC"

哪个是正确的,并按预期工作。

但是在运行程序中计算的值是垃圾:

?sHex
"20254"

为什么在运行代码和直接输入控制台时会得到不同的结果? 我如何获得预期的字符串值("20AC")?

1 个答案:

答案 0 :(得分:0)

好的,找到了解决方案(但没有解释)

sHex = convert.ToString(sNum, 16)

我无法解释这些错误的值,但上面的代码对我有用,以防其他人遇到同样的问题。