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