java转换二进制/本地/十六进制双值
Posted
技术标签:
【中文标题】java转换二进制/本地/十六进制双值【英文标题】:java convert binary/ocal/hex double values 【发布时间】: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
有任何想法或提示如何到达那里吗?
【问题讨论】:
【参考方案1】:Long
只是一个 64 位有符号 整数,不接受小数值。除了Double
,做同样的事情:
Double d = Double.valueOf(value, FORMAT_FROM); //FORMAT_FROM -> 2 || 8 || 16
//and then
Double.toHexString(d) //or
遗憾的是二进制和八进制不能直接使用。
【讨论】:
Double.toBinaryString
和 Double.toOctalString
不存在!?
@wasp256 那两种方法呢?
上面写着Cannot resolve method
toBinaryString(java.lang.double)`
@wasp256 遗憾的是Double
只提供toHexString
,有什么理由需要二进制和八进制吗?
不知道它只提供那个,这就是我迷路的原因并在 SO 上提问以上是关于java转换二进制/本地/十六进制双值的主要内容,如果未能解决你的问题,请参考以下文章