在Java中将Hex double / float转换为Decimal double / float

时间:2014-01-18 04:03:27

标签: java floating-point hex

我搜索了一个不错的数量,但没有回答转换十六进制字符串(这不是一个整数),如     0x11.11或0x1p3 在Java(float或double)中使用十进制形式而不手动执行。有答案吗?

1 个答案:

答案 0 :(得分:2)

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;