长到HEX字符串

时间:2015-05-29 12:28:47

标签: java string hex converter long-integer

我无法将字符串中的十六进制数转换为long然后再返回。这是我正在使用的代码:

private void parseExperiment(){
    String str1 = "AA0F245C";
    long nr = Long.parseLong(str1, 16);
    String str2 = Double.toHexString(nr);
}

我希望str2与str1相同,但是当我打印str1,nr和str2时,我得到了这个:

str1: AA0F245C
nr: 2853119068
str2: 0x1.541e48b8p31

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:26)

如果您想再次转换long,请使用Long.toHexString

使用Double.toHexStringlong转换为十六进制字符串将为您提供与double不同的long的正确表示。

答案 1 :(得分:6)

如果您使用Long.toHexString(nr);,您将得到正确答案