C#十六进制字符串转换为十进制
- 互联网
- 2025-08-25 09:00:02

在 C# 中,将十六进制(Hexadecimal)字符串转换为十进制(Decimal)整数非常简单。以下是几种常见的方法:
方法 1: 使用 Convert.ToInt32
Convert.ToInt32 方法可以直接将十六进制字符串转换为十进制整数。
示例代码 using System; class Program { static void Main() { string hexValue = "1A3"; // 十六进制字符串 int decimalValue = Convert.ToInt32(hexValue, 16); // 转换为十进制 Console.WriteLine($"十六进制 {hexValue} 转换为十进制是: {decimalValue}"); } } 输出 十六进制 1A3 转换为十进制是: 419方法 2: 使用 int.Parse 或 int.TryParse
int.Parse 或 int.TryParse 也可以将十六进制字符串转换为十进制整数,需要指定 NumberStyles.HexNumber。
示例代码 using System; using System.Globalization; class Program { static void Main() { string hexValue = "1A3"; // 十六进制字符串 int decimalValue = int.Parse(hexValue, NumberStyles.HexNumber); // 转换为十进制 Console.WriteLine($"十六进制 {hexValue} 转换为十进制是: {decimalValue}"); } } 输出 十六进制 1A3 转换为十进制是: 419 使用 int.TryParse 处理异常如果十六进制字符串可能无效,可以使用 int.TryParse 来避免异常:
using System; using System.Globalization; class Program { static void Main() { string hexValue = "1A3"; // 十六进制字符串 if (int.TryParse(hexValue, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out int decimalValue)) { Console.WriteLine($"十六进制 {hexValue} 转换为十进制是: {decimalValue}"); } else { Console.WriteLine("无效的十六进制字符串"); } } }方法 3: 手动转换
如果你希望手动实现十六进制到十进制的转换,可以使用以下算法:
示例代码 using System; class Program { static void Main() { string hexValue = "1A3"; // 十六进制字符串 int decimalValue = HexToDecimal(hexValue); Console.WriteLine($"十六进制 {hexValue} 转换为十进制是: {decimalValue}"); } static int HexToDecimal(string hex) { int result = 0; for (int i = 0; i < hex.Length; i++) { char c = hex[i]; int digit = c >= '0' && c <= '9' ? c - '0' : c >= 'A' && c <= 'F' ? c - 'A' + 10 : c >= 'a' && c <= 'f' ? c - 'a' + 10 : 0; result = result * 16 + digit; } return result; } } 输出 十六进制 1A3 转换为十进制是: 419方法 4: 使用 BitConverter(适用于字节数组)
如果十六进制数据是以字节数组的形式存在,可以使用 BitConverter 将其转换为十进制。
示例代码 using System; class Program { static void Main() { byte[] bytes = { 0x1A, 0x03 }; // 十六进制字节数组 int decimalValue = BitConverter.ToInt16(bytes, 0); // 转换为十进制 Console.WriteLine($"十六进制字节数组转换为十进制是: {decimalValue}"); } } 输出 十六进制字节数组转换为十进制是: 6667总结 推荐方法:使用 Convert.ToInt32 或 int.Parse,简单且高效。手动转换:适用于学习或特殊需求。字节数组:如果数据是字节数组形式,可以使用 BitConverter。
根据你的需求选择合适的方法即可!
C#十六进制字符串转换为十进制由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C#十六进制字符串转换为十进制”