为了账号安全,请及时绑定邮箱和手机立即绑定

从十六进制字符串中检索长度可变的数字

从十六进制字符串中检索长度可变的数字

繁星coding 2021-05-11 13:47:45
我在下面有一个十六进制字符串格式:2828287798519497FFFF9000 => 2828287798519497 (result) 1122334466667788996FFFF9000 => 1122334466667788996 (result)ID的长度在16到19之间,其中最右边是0xF。什么是0xF?我如何从上面的十六进制字符串中获取ID号(长度为16、17、18或19)?
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

BigInteger用于任意精度的整数数学,并且具有一个构造函数,该构造函数使用String和一个int基数。0xF是以16为底的第16个值(数字通常是以10为底的0到9,以及值A,B,C,D,E和F)。

System.out.println(new BigInteger("2828287798519497FFFF9000", 16));System.out.println(new BigInteger("1122334466667788996FFFF9000", 16));

因此,您的两个值的基数为10

12427948526435964620659200000
21719411700849473095611778568192


查看完整回答
反对 回复 2021-05-26
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

根据您给出的示例,所需的ID号由给定十六进制字符串的除最后八个字符外的所有字符组成(FFFF9000在两种情况下均为这两种情况)。换句话说,一个子字符串从字符串的开头开始,一直延伸到但不包括八到最后一个字符:


String h = "2828287798519497FFFF9000";

String id = h.substring(0, h.length()-8);

System.out.println(h + " => " + id);


查看完整回答
反对 回复 2021-05-26
  • 2 回答
  • 0 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信