簡體   English   中英

將字符串轉換為 Float32Array 的最快方法

[英]Fastest way to convert a string into a Float32Array

如何將包含寫出的浮點數的字符串(不存儲為 JSON 或類似的東西)轉換為Float32Array 我試過這個但它不起作用:

var str = "2.3 4.3 3.145";
var arr1 = parseFloat(str);
var arr2 = new Float32Array(arr1);

您必須將值拆分,然后可以將Float32Array.from與映射回調一起使用:

const arr = Float32Array.from(str.split(" "), parseFloat);

 const str = "2.3 4.3 3.145"; const arr = Float32Array.from(str.split(" "), parseFloat); console.log(arr);


注意:與parseInt不同,使用上面使用的parseFloat是安全的,它忽略除第一個參數之外的所有參數,因此它不關心它被from調用多個參數。 如果你必須做這樣的事情來創建(比如說)一個Uint8Array ,你不能像上面那樣使用parseInt ,因為它會被它收到的第二個參數混淆。 在這種情況下,箭頭 function 是一種簡單的修復方法(也可以讓您具體了解數字基數):

const arr = Uint8Array.from(str.split(" "), n => parseInt(n, 10));

您可以拆分,然后將 map 拆分為浮點數組

 const str = "2.3 4.3 3.145"; const arr1 = str.split(' ').map(parseFloat); const arr2 = new Float32Array(arr1); console.log(arr1); console.log(arr2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM