Since April 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
The setFloat16() method of DataView instances takes a number and stores it as a 16-bit floating point number in the 2 bytes starting at the specified byte offset of this DataView. There is no alignment constraint; multi-byte values may be stored at any offset within bounds.
// Create an ArrayBuffer with a size in bytes const buffer = new ArrayBuffer(16); const view = new DataView(buffer); view.setFloat16(1, Math.PI); console.log(view.getFloat16(1)); // Expected output: 3.140625
setFloat16(byteOffset, value) setFloat16(byteOffset, value, littleEndian)
byteOffsetThe offset, in bytes, from the start of the view to store the data in.
valueThe value to set. For how the value is encoded in bytes, see Value encoding and normalization.
littleEndian OptionalIndicates whether the data is stored in little- or big-endian format. If false or undefined, a big-endian value is written.
RangeErrorThrown if the byteOffset is set such that it would store beyond the end of the view.
const buffer = new ArrayBuffer(10); const dataview = new DataView(buffer); dataview.setFloat16(0, 3); dataview.getFloat16(1); // 0
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
setFloat16 |
135 | 135 | 129 | 120 | 18.2 | 135 | 129 | 89 | 18.2 | 29.0 | 135 | 18.2 | 1.1.23 | 1.43 | 24.0.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView/setFloat16