如何在c#中将十六进制从char []转换为int [重复]
Posted
技术标签:
【中文标题】如何在c#中将十六进制从char []转换为int [重复]【英文标题】:how to convert hex from char[] to int in c# [duplicate] 【发布时间】:2018-11-11 00:56:17 【问题描述】:如果我有:
char[] hexText = new char[9]; //5A3F0000A
char c = hexText[9]; //A
int lastD = // will be 10;
我试图转换它,但它失败了.. 怎么办?
谢谢!
【问题讨论】:
你做了什么来尝试转换它? 【参考方案1】:您可以使用十六进制字符的有序字符串和IndexOf
字符串方法来处理此基本转换。
string hexabet = "0123456789ABCDEF";
char c = 'A';
int lastD = hexabet.IndexOf(c);
Console.WriteLine(lastD); // 10
【讨论】:
谢谢!我不知道什么是'c',因为我正在从文件中读取数据。我需要 'c' 从十六进制中获取最后一位数字。在你的例子 F. @Kate 我认为你不明白这是如何工作的。 @Kate 为了本示例的目的,我将其设置为常量“A”。hexabet
是您的整个十六进制字母表。我正在利用每个字符的索引与其十进制值相同的事实。如果您读取的任何字符串的最后一个值是 '8',那么 hexabit.IndexOf('8')
将是 8。如果它是 D,那么 hexabit.IndexOf('D')
将是 13。
我的情况不同。我需要从文件中获取十六进制数并使用最后一位作为长度 - 这就是为什么我想将 char[] 转换为 int
现在我明白了。感谢您的帮助!以上是关于如何在c#中将十六进制从char []转换为int [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中将 E+ 数字从字符串转换为十进制? [复制]
如何在python中将unsigned char类型的int字符串转换为int