C# 十进制和十六进制转换

转至: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;
        }
原文地址:https://www.cnblogs.com/tiaoma888/p/4206571.html