【问题标题】:Long to Hex VB6, recode in c# [closed]长到 Hex VB6,在 c# 中重新编码 [关闭]
【发布时间】:2012-06-13 21:20:54
【问题描述】:

我想用 c# 编写 VB6 应用程序的这一部分。 如何将 long 更改为 Hex 值?

Public Function longToHex(l As Long) As String
    longToHex = Hex(l)
    If Len(longToHex) < 4 Then longToHex = String(4 - Len(longToHex), "0") & longToHex
    longToHex = Right(longToHex, 2) & Left(longToHex, 2)
End Function

【问题讨论】:

标签: c# vb6 hex long-integer


【解决方案1】:

只需格式化为填充的十六进制字符串:

string.Format("{0:X4}", myLong.ToString().Length / 2)

然后将前两个字符与后两个字符调换。

VB6 代码似乎将sData 的长度除以2,然后将长度转换为十六进制字符串,并在需要时用0 填充到4 个字符。然后它将前两个字符与后两个字符转置。

【讨论】:

  • 这是行不通的,我必须通过这个。我得到一个很长的 sData 长度并将其放入一个字符串中。我的意思是如果我除以 sData("12345") 的长度,我会得到 2,5,但 2 是对的。
  • @Noli - 你错了。在 C# 中,如果你执行5 / 2,你将得到2。它被称为Integer Division
  • 哦,我现在看到真的很抱歉。我无法处理这是我认为的。现在我得到了解决方案!
【解决方案2】:

看起来很复杂——代码应该做什么?十六进制字符串长度的一半? 这可能有效:sLen = (sData.length / 2).ToString("X")

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 2010-10-08
    • 2017-08-23
    相关资源
    最近更新 更多