首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android int到十六进制转换

android int到十六进制转换
EN

Stack Overflow用户
提问于 2013-08-06 10:52:41
回答 6查看 45.7K关注 0票数 20

我必须将int转换成十六进制值。例如,这是int值:

代码语言:javascript
复制
int_value = -13516;

要转换为十六进制值,我需要:

代码语言:javascript
复制
hex_value = Integer.toHexString(int_value);

我应该得到的值是:-34CC (我不知道是否应该让它成为正数)。

事情是这样进行转换的,我得到的值是:ffff cb34

我不能用这个函数来进行这个转换吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-08-06 10:56:18

文档指出,Integer.toHexStringint的十六进制表示形式作为无符号值返回。

我相信Integer.toString(value, 16)会完成你想要的。

票数 39
EN

Stack Overflow用户

发布于 2013-08-06 10:56:08

代码语言:javascript
复制
public static int convert(int n) {
  return Integer.valueOf(String.valueOf(n), 16);
}
 // in onstart:
 Log.v("TAG", convert(20) + "");  // 32
 Log.v("TAG", convert(54) + "");  // 84

来自:Java Convert integer to hex integer

票数 3
EN

Stack Overflow用户

发布于 2013-08-06 11:05:22

Integer.toHexString,和String.format("%x")都不支持符号。要解决这个问题,可以使用三元表达式:

代码语言:javascript
复制
    int int_value = -13516;
    String hex_value = int_value < 0
                       ? "-" + Integer.toHexString(-int_value)
                       : Integer.toHexString(int_value);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18078159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档