• C#中,将16进制转换为有符号的10进制的方法(支持带0x标志,支持任意字符串)


            /// <summary>
            /// 将16进制转换为有符号的10进制
            /// </summary>
            /// <param name="hexstr"></param>
            /// <returns></returns>
            public string ConvertHexToSIntStr(string hexstr)
            {

        if (hexstr.StartsWith("0x"))
                {
                    hexstr = hexstr.Substring(2);
                }

        //如果不是有效的16进制字符串或者字符串长度大于16或者是空,均返回NULL

       if (!IsHexadecimal(hexstr) || hexstr.Length > 16 || string.IsNullOrEmpty(hexstr))
                {
                    return null;
                }
                if (hexstr.Length > 8)
                {
                    return Convert.ToInt64(hexstr, 16).ToString();
                }
                else  if (hexstr.Length > 4)
                {
                    return Convert.ToInt32(hexstr, 16).ToString();
                }
                else
                {
                    return Convert.ToInt16(hexstr, 16).ToString();
                }
            }

            /// <summary>
            /// 判断是否是十六进制格式字符串
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public bool IsHexadecimal(string str)
            {
                const string PATTERN = @"[A-Fa-f0-9]+$";
                return System.Text.RegularExpressions.Regex.IsMatch(str, PATTERN);
            }

    前方有路望无尽,学海无期苦作舟! 十年之前,你不认识我,我不认识你。 十年之后,你涛声依旧,我猪转乾坤。 十年自学路有迷茫,十年探索路亦坎坷。 百般滋味,个中辛酸,各种纠结! 唯有志同道合,臭味相投的你能深深体会。 经验需要时间的积累,性格亦需要岁月的磨炼。 在下不才,但愿我博客对看到的朋友有丝丝帮助与启发。 别问我为何开发十年方开通博客,因为我只会说: 有美工设计师的开发者是多少的幸福啊!
  • 相关阅读:
    给任意多个链表然后要合并成一个
    hdu5967数学找规律+逆元
    poj2125最小点权覆盖+找一个割集
    poj3308 最小点权覆盖
    poj2987 最大闭合权子图基础题
    poj2699 转化为可行性判定问题+二分枚举+最大流
    判断割是否唯一zoj2587
    快排优化
    jvm垃圾收集器
    三次握手与四次挥手
  • 原文地址:https://www.cnblogs.com/CFive/p/8186733.html
Copyright © 2020-2023  润新知