转至:http://www.cnblogs.com/fwind/archive/2012/04/13/2445380.html
在C#中,十进制和十六进制转换非常简单,方法如下:
十进制转为十六进制:
int a = 100; String strA = a.ToString("x8");
十六进制转为十进制:
int b= Int32.Parse("266", System.Globalization.NumberStyles.HexNumber);
也可以使用下述方法:
/// <summary> /// 十六进制换算为十进制 /// </summary> /// <param name="strColorValue"></param> /// <returns></returns> public static int GetHexadecimalValue(String strColorValue) { char[] nums = strColorValue.ToCharArray(); int total = 0; try { for (int i = 0; i < nums.Length; i++) { String strNum = nums[i].ToString().ToUpper(); switch (strNum) { case "A": strNum = "10"; break; case "B": strNum = "11"; break; case "C": strNum = "12"; break; case "D": strNum = "13"; break; case "E": strNum = "14"; break; case "F": strNum = "15"; break; default: break; } double power = Math.Pow(16, Convert.ToDouble(nums.Length - i - 1)); total += Convert.ToInt32(strNum) * Convert.ToInt32(power); } } catch (System.Exception ex) { String strErorr = ex.ToString(); return 0; } return total; }