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