JavaScript DataView setFloat32() 方法



JavaScript DataView 的setFloat32()方法用於在該資料檢視中,從起始位元組偏移量開始的特定位元組儲存一個32位浮點數。你可以在邊界內的任何偏移量儲存多個位元組值。

如果byteOffset引數的值超出此資料檢視的範圍,則此方法將丟擲'RangeError'異常。

語法

以下是 JavaScript DataView setFloat32() 方法的語法:

setFloat32(byteOffset, value, littleEndian)

引數

此方法接受三個引數,名為'byteOffset'、'value'和'littleEndian',如下所述:

  • byteOffset - 資料檢視中將儲存位元組的位置。
  • value - 需要儲存的32位浮點數。
  • littleEndian - 指示資料是以小端還是大端格式儲存。

返回值

此方法返回'undefined',因為它僅將位元組值儲存到 DataView 中。

示例 1

以下示例演示了 JavaScript DataView setFloat32() 方法的使用。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   const data_view = new DataView(buffer);
   const byteOffset = 0;
   const value = 23432.342;
   document.write("The byte offset: ", byteOffset);
   document.write("<br>Value: ", value);
   document.write("<br>The data_view.setFloat32() method returns: ", data_view.setFloat32(byteOffset, value));
</script>
</body>
</html>

輸出

上述程式返回 'undefined':

The byte offset: 0
Value: 23432.342
The data_view.setFloat32() method returns: undefined

示例 2

以下是 JavaScript DataView setFloat32() 方法的另一個示例。我們使用此方法將32位浮點數522453.23儲存在從指定位元組偏移量1開始的位元組中。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   const data_view = new DataView(buffer);
   const byteOffset = 1;
   const value = 522453.23;
   document.write("The byte offset: ", byteOffset);
   document.write("<br>Value: ", value);
   //using setFloat32() method
   data_view.setFloat32(byteOffset, value)
   document.write("<br>The store value is: ", data_view.getFloat32(byteOffset));
</script>
</body>
</html>

輸出

執行上述程式後,它將浮點數儲存到當前資料檢視中,並顯示為:

The byte offset: 1
Value: 522453.23
The store value is: 522453.21875

示例 3

如果 byteOffset 引數的值為-1(超出範圍),它將丟擲'RangeError'異常。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   const data_view = new DataView(buffer);
   const byteOffset = -1;
   const value = 23322.422;
   document.write("The byte offset: ", byteOffset);
   document.write("<br>Value: ", value);
   try {
      //using setFloat32() method
      data_view.setFloat32(byteOffset, value)
   } catch (error) {
      document.write("<br>", error); 
   }
</script>
</body>
</html>

輸出

執行上述程式後,將丟擲以下異常:

The byte offset: -1
Value: 23322.422
RangeError: Offset is outside the bounds of the DataView
廣告