Используйте Float.floatToIntBits()
(или Float.floatToRawIntBits()
, если вы хотите сохранить значения NaN), чтобы преобразовать число с плавающей точкой в целое число. floatToIntBits()
указано для возврата целого числа в формате IEEE 754, который используется практически всеми реализациями C / C ++. Затем вы должны преобразовать целое число в байтовый массив в порядке сетевых байтов (big-endian), который затем можно безопасно сериализовать в файл, сокет, поток байтов и т. Д.:
int floatBits = Float.floatToIntBits(myFloat);
byte floatBytes[] = new byte[4];
floatBytes[0] = (byte)(floatBits >> 24);
floatBytes[1] = (byte)(floatBits >> 16);
floatBytes[2] = (byte)(floatBits >> 8);
floatBytes[3] = (byte)(floatBits);