DataView.prototype.setFloat16()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

DataView 实例的 setFloat16() 接受一个数字,并将其以 16 位浮点数的形式存储在从当前 DataView 的指定偏移位置开始处的 2 字节中。如果没有对齐约束;则可以在边界内的任意偏移位置处存储多字节值。

尝试一下

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

语法

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

参数

byteOffset

从视图的开始位置到存储数据的位置的偏移量,以字节为单位。

value

要设置的值。有关数据如何编码为字节序的详细信息,请参见值编码与标准化

littleEndian 可选

指示数据是否以小端或大端序格式存储。如果为 falseundefined,则以大端序写入数值。

返回值

异常

RangeError

如果设置的 byteOffset 会导致存储到视图的末尾之外,则抛出此异常。

示例

使用 setFloat16()

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

规范

Specification
Float16Array
# sec-dataview.prototype.setfloat16

浏览器兼容性

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

参见