tarabyte
tarabyte

Reputation: 19172

How to convert Uint8Array to a float in javascript?

I have an ArrayBuffer that I convert to a Uint8Array so that I can use traditional array access with square brackets and gather a subarray. Now that I have the correct set of 4 bytes that describe the 32-bit (little endian) floating point number, I don't seem to have an easy way to convert to the floating point value:

var startIndex = 2;
var buffer = new Uint8Array(data)
buffer.subarray(startIndex, startIndex + 4);
var myNumber = ?uint8ArrayToFloat(buffer);
console.log(myNumber);

I'm new to JavaScript and am still looking around different docs...

Upvotes: 4

Views: 6516

Answers (1)

Alexander Gessler
Alexander Gessler

Reputation: 46607

You can use DataView.getFloat32. First, you would create the DataView from the original ArrayBuffer (or the Uint8Array). getFloat32 takes an optional parameter that allows you to specify the endianess of the data you are reading.

Upvotes: 5

Related Questions