2

我正在使用 ZigBee,我从终端设备的传感器接收数据,我想从十六进制转换为整数。数据来自 4bytes,这个信息是关于电池的,我得到的一个例子是:“00 00 00 e1”(但没有空格)我需要将它传递给电压,但首先我认为我需要将其传递给 int。

任何人都可以帮助我吗?我正在为Android做我的应用程序。

先感谢您。

4

3 回答 3

3

用于Integer.parseInt()此:

将字符串参数解析为第二个参数指定的基数中的有符号整数

例子:

Integer.parseInt("-FF", 16) // pass 16 to indicate an hexadecimal value
=> -255
于 2013-09-16T16:00:09.417 回答
3
int n = (int)Long.parseLong(st.replaceAll("\\s+",""), 16);

(其中 st 是你的字符串)做到了。两件事情:

replaceAll剥离任何空白区域。

我通过Long解析器绕过NumberFormatExceptions否定

于 2013-09-16T16:00:37.563 回答
1
Integer.parseInt("ff0000", 16)
于 2013-09-16T16:00:40.257 回答