十六进制字符串转换为Integer

wyj1983 2011-04-19 10:52:28
将字符串
String str = "0xC0A80010";
转换成Integer类型的
Integer num = 0xC0A80010;
...全文
631 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰天狼 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 jac_cheng 的回复:]

引用 13 楼 wyj1983 的回复:

这种做法确实不正确,换了另一种思路,呵呵

这种转换确实是无法进行的

谢谢AcHerat和ylz2007

结贴



求解啊 ....跪求》。。
[/Quote]同求啊,同求!!!
jac_cheng 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wyj1983 的回复:]

这种做法确实不正确,换了另一种思路,呵呵

这种转换确实是无法进行的

谢谢AcHerat和ylz2007

结贴
[/Quote]


求解啊 ....跪求》。。
ouwaner 2011-04-19
  • 打赏
  • 举报
回复
String str = "0xC0A80010";
Integer ss = 0xC0A80010;
Long longStr = Long.parseLong(str.substring(2), 16);
ss = new Integer(longStr.intValue());
System.out.println(ss);
System.out.println(Integer.toHexString(ss));

-1062731760
c0a80010
AcHerat 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wyj1983 的回复:]

0xC0A80010是十六进制的,我从别的地方拿过来是字符串"0xC0A80010",现在我要得到双引号里面的这个
[/Quote]

转换为十进制继续转回去?
wyj1983 2011-04-19
  • 打赏
  • 举报
回复
这种做法确实不正确,换了另一种思路,呵呵

这种转换确实是无法进行的

谢谢AcHerat和ylz2007

结贴
wyj1983 2011-04-19
  • 打赏
  • 举报
回复
0xC0A80010是十六进制的,我从别的地方拿过来是字符串"0xC0A80010",现在我要得到双引号里面的这个
AcHerat 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wyj1983 的回复:]

引用 9 楼 acherat 的回复:

楼主希望是什么结果 0xC0A80010 本身是一个字符串,是不可能换为整型的,难道把 A B C D 作为整型?

我要得到Integer ss = 0xC0A80010;
[/Quote]
就像你马上见到外星人一样,这是不可能的! 要不你自己设计个语言?
wyj1983 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 acherat 的回复:]

楼主希望是什么结果 0xC0A80010 本身是一个字符串,是不可能换为整型的,难道把 A B C D 作为整型?
[/Quote]
我要得到Integer ss = 0xC0A80010;
AcHerat 2011-04-19
  • 打赏
  • 举报
回复
楼主希望是什么结果 0xC0A80010 本身是一个字符串,是不可能换为整型的,难道把 A B C D 作为整型?
wyj1983 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ylz2007 的回复:]

String s = "0xC0A80010";
Long hex = Long.parseLong(s.replayAll("0x",""), 16);
System.out.println(hex);
[/Quote]

这样转换是可以成功,但是最后结果得不到0xC0A80010
AcHerat 2011-04-19
  • 打赏
  • 举报
回复
将字符串
String str = "0xC0A80010";

前把所有的 0x 替换为空!
  • 打赏
  • 举报
回复
String s = "0xC0A80010";
Long hex = Long.parseLong(s.replayAll("0x",""), 16);
System.out.println(hex);
AcHerat 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wyj1983 的回复:]

引用 1 楼 ylz2007 的回复:

String str = "0xC0A80010";
Integer num = Integer.parseInt(str , 16);


这个报java.lang.NumberFormatException:错误,不能直接转换
[/Quote]

换long 或者 bigInteger 试试!
wyj1983 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ylz2007 的回复:]

String str = "0xC0A80010";
Integer num = Integer.parseInt(str , 16);
[/Quote]

这个报java.lang.NumberFormatException:错误,不能直接转换
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 acherat 的回复:]

int 估计范围不够,用long 或者 bigInteger 试试!

String s = "1CAAB5C3B3";
Long hex = Long.parseLong(s, 16);
System.out.println(hex);
[/Quote]

确实不够,多了一位
AcHerat 2011-04-19
  • 打赏
  • 举报
回复
int 估计范围不够,用long 或者 bigInteger 试试!

String s = "1CAAB5C3B3";
Long hex = Long.parseLong(s, 16);
System.out.println(hex);
  • 打赏
  • 举报
回复
String str = "0xC0A80010";
Integer num = Integer.parseInt(str , 16);

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧