1

我在 Java 中使用 Hadoop 计数器,它只支持整数/长计数器类型,但我需要一个浮点计数器。我想知道有没有办法将浮点数存储为整数或长类型,然后从整数/长类型恢复原始值而不会丢失精度?

4

2 回答 2

6

Double.doubleToLongBitsDouble.longBitsToDouble如果它是double. Float对于 int也有类似的方法。

于 2013-11-08T15:54:37.277 回答
2

Float提供了您需要的方法:

int intValue = Float.floatToIntBits(floatValue);
int floatValue2 = Float.intToFloatBits(intValue)
// floatValue2 == floatValue

相同的方法也可用于双重类型(参见 class Double

于 2013-11-08T15:55:31.840 回答