C#将整数转换为十六进制并再次返回

我如何转换以下内容?

2934(整数)到B76(十六进制)

让我解释我正在尝试做什么。 我有我的数据库中的用户ID存储为整数。 而不是让用户参考他们的ID我想让他们使用十六进制值。 主要原因是因为它更短。

所以我不仅需要从整数到十六进制,而且还需要从十六进制转换为整数。

有没有简单的方法在C#中做到这一点?


// Store integer 182
int intValue = 182;
// Convert integer 182 as a hex in a string variable
string hexValue = intValue.ToString("X");
// Convert the hex string back to the number
int intAgain = int.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);

from http://www.geekpedia.com/KB8_How-do-I-convert-from-decimal-to-hex-and-hex-to-decimal.html


使用:

int myInt = 2934;
string myHex = myInt.ToString("X");  // Gives you hexadecimal
int myNewInt = Convert.ToInt32(myHex, 16);  // Back to int again.

有关更多信息和示例,请参阅如何在十六进制字符串和数字类型之间进行转换(C#编程指南)。


尝试以下操作将其转换为十六进制

public static string ToHex(this int value) {
  return String.Format("0x{0:X}", value);
}

又回来了

public static int FromHex(string value) {
  // strip the leading 0x
  if ( value.StartsWith("0x", StringComparison.OrdinalIgnoreCase)) {
    value = value.Substring(2);
  }
  return Int32.Parse(value, NumberStyles.HexNumber);
}
链接地址: http://www.djcxy.com/p/87789.html

上一篇: C# convert integer to hex and back again

下一篇: jQuery: HEX to RGB calculation different between browsers?