欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 16 进制字符串转 int的方法

程序员文章站 2023-12-15 18:12:46
最近在写硬件,发现有一些测试是做 16 进制的字符串,需要把他转换为整形才可以处理。 本文告诉大家如何从 16 进制转整形。 如果输入的是 0xaa 这时转换 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 =
        "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的方法,希望对大家有所帮助

上一篇:

下一篇: