字符串转换成16进制数

JadoNet 2008-03-12 11:12:06
怎样把一个类似 “0xffffffff”这样的字符串,直接转换成16进制数 0xffffffff ???
谢谢,想了半天,没整出来。
public int changeNum(String num)
{
...
}
...全文
145 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
JadoNet 2008-03-16
  • 打赏
  • 举报
回复
不知道大家有没有理解我的意思,我是想把字符串“0xffffffff” 直接转换成0xffffffff
而不是要转换成10进制数,呵呵

算了,还是要谢谢大家了。自己写下吧,呵呵
rick1212 2008-03-13
  • 打赏
  • 举报
回复
学习了.
smileflyer 2008-03-13
  • 打赏
  • 举报
回复
String s = "0xffffffff";
long l = Long.parseLong(s.replaceAll("0x", ""),16);

System.out.println(Long.toHexString(l));

看看。
ninesea 2008-03-13
  • 打赏
  • 举报
回复
楼主都3个角了 我想会用parseXxx吧 所以我猜楼主应该是想自己实现那个parseXxx方法
qx_jsj 2008-03-13
  • 打赏
  • 举报
回复
关注
malligator 2008-03-12
  • 打赏
  • 举报
回复
LS说得有道理, 放不下是相对JAVA来说的

实际这个数可以转成-1的(刚好四个字节中全是1)

可以按LS方法先转成long再强转成int(这么做之前最好作一下判断)

		String str = "0xffffffff";
str = str.substring(2);
if (str.length() > 4 * 8) {
// ****
}
int i = (int) Long.parseLong(str, 16);
i = Integer.parseInt(str, 16);
System.out.println(i);
bootupnow 2008-03-12
  • 打赏
  • 举报
回复
CSDN貌似都问过很多次这个问题的

String s = "0xffffffff";
long l = Long.parseLong(s.replace("0x", ""),16);
treeroot 2008-03-12
  • 打赏
  • 举报
回复
楼上正解
Squall1009 2008-03-12
  • 打赏
  • 举报
回复
你给的数字比较大...
public class Test {
public static void main(String[] args)
{
String str = "0xffffffff";
str = str.substring(2);
long i = Long.parseLong(str, 16);
System.out.println(i);
}
}

int放不下

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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