Java 将字符串转换为十六进制字符串
我有一个int值的字符串,如“131008130225002”,我需要将其转换为十六进制字符串。我试过各种方法Java 将字符串转换为十六进制字符串,java,hex,Java,Hex,我有一个int值的字符串,如“131008130225002”,我需要将其转换为十六进制字符串。我试过各种方法 toHex函数的输出是3133313030383133303235303032,但我有 不需要它 我需要在十六进制格式使用ABC多达12位 我尝试了Integer.tohex,但它超出了Integer的范围 如果是Double.tohex,则给出0x1.dc9ad4424da8p46 我的朋友在ios中做同样的工作,使用无符号long-long作为数据类型,并使用0x%02llx正则表
String x="131008130225002";
System.out.println(x);
// System.out.println(Integer.parseInt(x));
System.out.println(Double.parseDouble(x));
System.out.println(Double.toHexString(Double.parseDouble(x)));
String a1= toHex(x);
System.out.println(a1);
toHex函数:
static String toHex(String arg) {
try {
return String.format("%12x", new BigInteger(1, arg.getBytes("UTF-8")));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
输出为7726b510936a。它将适合
长
,因此您可以使用长.toHexString
System.out.println(Long.toHexString(Long.parseLong("131008130225002")));
对于更通用的解决方案,biginger
也有一个以基数为单位的函数(16当然是十六进制)
上面两个打印出来的
7726b510936a
不清楚您想做什么。字符串是要转换为十六进制的十进制数吗?或者是一个十进制数字序列,您想将其中的每一个单独转换为十六进制?显示输入的预期输出。它是从不同位置检索到的小数的组合,现在我想将其转换为十六进制并作为parameter@HimanshR发布你想从转换中看到的准确结果一个准确的结果显示超过1000个单词,请发布…@Hitmansh你没有让它更清楚。显示您希望通过输入获得的确切结果。对不起,我无法解释,感谢您的努力,但下面的答案正是我需要的。
System.out.println(Long.toHexString(Long.parseLong("131008130225002")));
System.out.println(new BigInteger("131008130225002").toString(16));