进制转换

2017-02-26 15:17:15  访问(1336) 赞(0) 踩(0)


        /// <summary>
        /// 10进制转成16进制
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        public static string ConvertHex(int i)
        {
            return ConvertNumber(i.ToString(), 10, 16);
        }

        /// <summary>
        /// 10进制转成16进制
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string ConvertHex(string str)
        {
            return ConvertNumber(str, 10, 16);
        }

        /// <summary>
        /// 16进制输入返回对应的整型值
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static int HexReturn(string str)
        {
            return int.Parse(ConvertNumber(str, 16, 10));
        }

        /// <summary>
        /// 10进制转成8进制
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string ConvertOct(string str)
        {
            return ConvertNumber(str, 10, 8);
        }

        /// <summary>
        /// 10进制转成8进制
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        public static string ConvertOct(int i)
        {
            return ConvertNumber(i.ToString(), 10, 8);
        }

        /// <summary>
        /// 进制转换
        /// </summary>
        /// <param name="str"></param>
        /// <param name="from"></param>
        /// <param name="to"></param>
        /// <returns></returns>
        public static string ConvertNumber
            (
                string str,
                int from,
                int to
            )
        {
            if (str == null || str.Length == 0)
                return "";

            if (from == to)
                return str;

            string strResult = string.Empty;

            if (from == 10)
            {
                int iValue = int.Parse(str);

                strResult = Convert.ToString(iValue, to);

                return strResult;
            }
            else
            {
                if (to == 10)
                {
                    strResult = Convert.ToInt32(str, from).ToString();

                    return strResult;
                }
                else
                {
                    strResult = ConvertNumber(str, from, 10);

                    strResult = ConvertNumber(strResult, 10, to);

                    return strResult;
                }

            }

            ////十进制转二进制
            //Response.Write("十进制166的二进制表示: " + Convert.ToString(166, 2));
            ////十进制转八进制
            //Response.Write("十进制166的八进制表示: " + Convert.ToString(166, 8));
            ////十进制转十六进制
            //Response.Write("十进制166的十六进制表示: " + Convert.ToString(166, 16));

            ////二进制转十进制
            //Response.Write("二进制 111101 的十进制表示: " + Convert.ToInt32("111101", 2));
            ////八进制转十进制
            //Response.Write("八进制 44 的十进制表示: " + Convert.ToInt32("44", 8));
            ////十六进制转十进制
            //Response.Write("十六进制 CC的十进制表示: " + Convert.ToInt32("CC", 16)); 
        }


标签:进制转换 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)