文字列の16進数を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
を再度変換する場合は、 Long.toHexString
を使用します。
Double.toHexString
を使用してlong
を16進文字列に変換すると、double
の適切な表現が得られます。これはlong
。
Long.toHexString(nr);
を使用すると、正しい答えが得られます