DataView.prototype.setFloat16()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used 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.

Try it

// 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

Syntax

js
setFloat16(byteOffset, value)
setFloat16(byteOffset, value, littleEndian)

Parameters

byteOffset

The offset, in bytes, from the start of the view to store the data in.

value

The value to set. For how the value is encoded in bytes, see Value encoding and normalization.

littleEndian Optional

Indicates whether the data is stored in little- or big-endian format. If false or undefined, a big-endian value is written.

Return value

Exceptions

RangeError

Thrown if the byteOffset is set such that it would store beyond the end of the view.

Examples

Using setFloat16()

js
const buffer = new ArrayBuffer(10);
const dataview = new DataView(buffer);
dataview.setFloat16(0, 3);
dataview.getFloat16(1); // 0

Specifications

Specification
Float16Array
# sec-dataview.prototype.setfloat16

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
setFloat16

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

See also