我已经搜索了一个不错的数量,但没有关于转换十六进制字符串(不是整数)的答案,例如 0x11.11 或 0x1p3在 Java 中转换为十进制形式(浮点数或双精度),而无需手动操作。有什么答案吗?
Double.valueOf()
支持从String
进行这种转换:
System.out.println(Double.valueOf("0x0.1p0"));
System.out.println(Double.valueOf("0x11.11p0"));
System.out.println(Double.valueOf("0x1p3"));
输出:
0.0625
17.06640625
8
另外值得一提的是,1.5 添加了对这些文字的支持:
double d = 0x1p3;