c#十六进制字符转十进制

发布时间 2023-10-30 15:41:15作者: 少年。
  • 十六进制字符串:由0-9和A-F组成的字符串,表示十六进制数。
  • 十进制数:由0-9组成的数字,表示十进制数。
 /// <summary>
 /// 十六进制字符串转十进制
 /// </summary>
 /// <param name="str">十六进制字符</param>
 /// <returns></returns>
 static int To16Convert10(string str)
 {
     int res = 0;
     try
     {
         str = str.Trim().Replace(" ", ""); //移除空字符
         //方法1
         res = int.Parse(str, System.Globalization.NumberStyles.AllowHexSpecifier);
         方法2
         //int r2 = System.Int32.Parse(str, System.Globalization.NumberStyles.HexNumber);
         //Console.WriteLine(r2);
         方法3
         //int r3 = Convert.ToInt32(str, 16);
         //Console.WriteLine(r3);
     }
     catch(Exception e)
     {
         res = 0;
     }
     return res;
 }

执行步骤

  1. 首先,代码中的To16Convert10函数接受一个十六进制字符串作为参数,并声明一个整型变量res用于存储转换后的十进制数。
  2. 接下来,代码使用TrimReplace方法移除字符串中的空字符,以确保字符串的格式正确。
  3. 然后,代码使用int.Parse方法将十六进制字符串转换为十进制数,并将结果赋值给res变量。System.Globalization.NumberStyles.AllowHexSpecifier参数指定了允许解析十六进制数的格式。
  4. 最后,代码使用try-catch块来捕获可能发生的异常,并将res变量初始化为0,以防止转换失败时返回无效值。