C#16进制字符串转int的⽅法
最近在写硬件,发现有⼀些测试是做 16 进制的字符串,需要把他转换为整形才可以处理。本⽂告诉⼤家如何从 16 进制转整形。
如果输⼊的是 0xaa 这时转换 int 不能使⽤ Parse 不然会出现异常
System.FormatException
如果需要转换⼗六进制就需要使⽤ Convert 才可以转换
Convert.ToInt32("0xaa", 16)
使⽤这个⽅法才可以转换。实际使⽤这个⽅法转换不⼀定需要添加 0x ,直接使⽤ aa 也是可以
Convert.ToInt32("0xaa", 16) == Convert.ToInt32("aa", 16)
我需要转换的是⼀个字符串,⾥⾯有很多数值,所以我就使⽤下⾯的⽅法。
如果输⼊的字符串是这个样⼦
var str =
16进制字符串转16进制数组
"AA BB CC 12 01 0D 00 34 38 34 35 32 30 41 35 33 46 37 30 2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A";那么就需要先添加 0x 然后再转换,使⽤下⾯⼀句话可以转数组
var command = str.Split(' ').Select(temp => "0x" + temp).Select(temp => (byte) Convert.ToInt32(temp, 16))
.ToArray();
这个⽅法⼤家可以直接拿去使⽤。
以上所述是⼩编给⼤家介绍的C# 16 进制字符串转 int的⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。