2

我有一个二进制/八进制/十六进制格式的双精度值,并希望将它们相互转换。我能够用这样的整数值来做到这一点

  Long l = Long.valueOf(value, FORMAT_FROM); //FORMAT_FROM -> 2 || 8 || 16
  //and then 
  Long.toHexString(l) //or
  Long.toBinaryString(l) //or
  Long.toOctalString(l)  

十进制值11.13应该是(用计算器检查):

  13.102436561   //Octal
  1011.001000011 //Binary
  B.2147AE148  //Hex

任何想法或提示如何到达那里?

4

1 回答 1

0

Long只是一个 64 位有符号整数,不接受小数值。做同样的事情,除了Double

  Double d = Double.valueOf(value, FORMAT_FROM); //FORMAT_FROM -> 2 || 8 || 16
  //and then 
  Double.toHexString(d) //or

可悲的是二进制和八进制不是直接可用的。

于 2013-09-12T19:29:37.903 回答