Java 长到十六进制字符串
我无法将字符串中的十六进制数转换为long,然后再转换回来。以下是我使用的代码: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:
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只是转换成无符号值而已****!我完全错过了!我是怎么搞砸的!?