C#中string 转各种类型 int 8进制,16进制,反转

 /// <summary>
        /// 十六进制转十进制
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static int HexToDec(string str)
        {
            int value;
            if (!string.IsNullOrEmpty(str))
            {
                str = str.Replace("0x", "");
                if (int.TryParse(str, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out value))
                {
                    return value;
                }
                else
                    throw new InvalidCastException(string.Format("HexToDec:InvalidCastException,value is {0} !", str));
            }
            else
                throw new ArgumentNullException("HexToDec:Argument maybe null!");
        }

        /// <summary>
        /// String转Int32
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static int ToInt(string str)
        {
            int value;
            if (!string.IsNullOrEmpty(str))
            {
                if (int.TryParse(str, out value))
                {
                    return value;
                }
                else
                    throw new InvalidCastException(string.Format("ToInt:InvalidCastException,value is {0} !", str));
            }
            else
                throw new ArgumentNullException("ToInt:Argument maybe null!");
        }

        /// <summary>
        /// String转Int16
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static short ToInt16(string str)
        {
            short value;
            if (!string.IsNullOrEmpty(str))
            {
                if (Int16.TryParse(str, out value))
                {
                    return value;
                }
                throw new InvalidCastException(string.Format("ToInt16:InvalidCastException,value is {0} !", str));
            }
            throw new ArgumentNullException("ToInt16:Argument maybe null!");
        }

        /// <summary>
        /// 十进制转十六进制
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        public static string DecToHex(int i)
        {
            string value;
            if (i >= 0)
                value = Convert.ToString(i, 16);
            else
                throw new InvalidCastException(string.Format("DecToHex:InvalidCastException,value is {0} !", i));
            return "0x" + value.ToUpper();
        }

        /// <summary>
        /// 反转String字符
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string Reverse(string str)
        {
            string s = string.Empty;
            char[] temp = str.ToCharArray();
            for (int i = temp.Length - 1; i >= 0; i--)
            {
                s += temp[i].ToString();
            }
            return s;
        }

        /// <summary>
        /// 修改了值为Null时会返回异常的问题
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string ToTrim(string str)
        {
            if (string.IsNullOrEmpty(str))
                return "";
            else
                return str.Trim();
        }

  

posted on 2021-04-16 15:37  java不白吃  阅读(588)  评论(0)    收藏  举报