0
我有以下字符串「0x4B196DAF
」。我想獲得像「10055087.000000
」的輸出。在java中的32位十六進制字符串到浮點數
我的代碼片顯示像一個奇怪的輸出 「1.0055087E7
」
long l = Long.parseLong(hexval, 16);
return Float.intBitsToFloat(l.intValue());
我也試圖與
long l = Long.parseLong(hexval, 16);
return Double.longBitsToDouble(l.longValue());
但沒有什麼幫助。我檢查了幾個顯示正確輸出的網站。我無法確切地發現問題。
也許看看http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html – SpaceCowboy 2013-03-17 18:39:37
1.0055087E7只是10055087.000000的另一種表示法。你想看看java的格式化選項來打印數字。 http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html可能會有用。 – Lalaland 2013-03-17 18:41:41