Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 长到十六进制字符串_Java_String_Hex_Converter_Long Integer - Fatal编程技术网

Java 长到十六进制字符串

Java 长到十六进制字符串,java,string,hex,converter,long-integer,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:

我无法将字符串中的十六进制数转换为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
有人知道如何解决这个问题吗?

如果您想再次转换
长代码,请使用


使用将
long
转换为十六进制字符串将为您提供
double
的正确表示形式,这与使用
long.tohextstring(nr)的
long
不同
你会得到正确的答案

…你为什么要用
Double.toHexString()解析
长的
!我完全错过了!我是怎么搞砸的!?我必须知道toHexString只是转换成无符号值而已****!我完全错过了!我是怎么搞砸的!?