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);
            }

    前方有路望无尽,学海无期苦作舟! 十年之前,你不认识我,我不认识你。 十年之后,你涛声依旧,我猪转乾坤。 十年自学路有迷茫,十年探索路亦坎坷。 百般滋味,个中辛酸,各种纠结! 唯有志同道合,臭味相投的你能深深体会。 经验需要时间的积累,性格亦需要岁月的磨炼。 在下不才,但愿我博客对看到的朋友有丝丝帮助与启发。 别问我为何开发十年方开通博客,因为我只会说: 有美工设计师的开发者是多少的幸福啊!
  • 相关阅读:
    ASP.NET 母版页和内容页中的事件
    用powershell 获取windows窗口标题
    PowerShell中格式化命令和输出命令
    Powershell视频教程
    百度谷歌眼中的80后90后
    oracle导出和导入
    Websphere 优化文档
    windows 全部命令
    Oracle SQL 语句一
    怎样启动、关闭和重新启动oracle监听器 in linux
  • 原文地址:https://www.cnblogs.com/CFive/p/8186733.html
Copyright © 2011-2022 走看看