zoukankan      html  css  js  c++  java
  • 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);
            }

    前方有路望无尽,学海无期苦作舟! 十年之前,你不认识我,我不认识你。 十年之后,你涛声依旧,我猪转乾坤。 十年自学路有迷茫,十年探索路亦坎坷。 百般滋味,个中辛酸,各种纠结! 唯有志同道合,臭味相投的你能深深体会。 经验需要时间的积累,性格亦需要岁月的磨炼。 在下不才,但愿我博客对看到的朋友有丝丝帮助与启发。 别问我为何开发十年方开通博客,因为我只会说: 有美工设计师的开发者是多少的幸福啊!
  • 相关阅读:
    Django搭建开发‘学习笔记’项目二(创建应用程序)
    Django搭建开发‘学习笔记’项目一(建立项目)
    WEB渗透 --- 常见问题总结
    ConstraintLayout使用手册
    Java源码分析(1):二分查找 + 循环递归实现
    小黄衫买家秀
    Android权限申请完全解析(一):Android自带的权限申请
    个人作业——软件工程实践总结作业
    beta阶段学习博客(一) js交互
    个人作业——软件产品案例分析
  • 原文地址:https://www.cnblogs.com/CFive/p/8186733.html
Copyright © 2011-2022 走看看