我有一个 int 值字符串,例如“131008130225002”,我需要将其转换为十六进制字符串。我尝试了各种方法,
- toHex 函数的输出是 313331303038313330323235303032 但我不需要它,
我需要使用 ABC 最多 12 位的十六进制格式。
我尝试了 Integer.tohex,但它超出了整数范围
- 在 Double.tohex 的情况下,它给出 0x1.dc9ad4424da8p46
我的朋友在 ios 中使用unsigned long作为数据类型和0x%02llx正则表达式来转换 nsstring
代码是:
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;
}