【问题标题】:java convert binary/ocal/hex double valuesjava转换二进制/本地/十六进制双值
【发布时间】:2013-09-17 08:11:49
【问题描述】:

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

  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

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

【问题讨论】:

    标签: java binary hex octal


    【解决方案1】:

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

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

    遗憾的是二进制和八进制不能直接使用。

    【讨论】:

    • Double.toBinaryStringDouble.toOctalString 不存在!?
    • @wasp256 那两种方法呢?
    • 上面写着Cannot resolve method toBinaryString(java.lang.double)`
    • @wasp256 遗憾的是Double 只提供toHexString,有什么理由需要二进制和八进制吗?
    • 不知道它只提供那个,这就是我迷路的原因并在 SO 上提问
    猜你喜欢
    • 1970-01-01
    • 2014-10-30
    • 2016-06-05
    • 1970-01-01
    • 2012-06-26
    • 2011-10-11
    • 2016-02-09
    • 2012-11-14
    相关资源
    最近更新 更多