js怎样把byte数组转为double类型

风的幻想 发布于 2017/06/22 18:23
阅读 491
收藏 0

后台返回了一个byte数组,[0,0,0,0,0,0,8,64],现在前端需要转换为double类型,请问需要怎么做?

加载中
0
tcxu
tcxu

js 只有整形和浮点型数据类型。前端要输出小数点后几位? 比如两位:

var bArray = [0,0,0,0,0,0,8,64];
for (var i=0; i<bArray.length;i++)
document.write(bArray[i].toFixed(2)+ " ");

如果一定要把一个数解析成浮点型,可以先将其变为字符串型,再解析成浮点型。

function convertTo(i){
    var str = i.toString(); //变为字符串型
    return parseFloat(str); //解析成浮点型。再返回
}

0
艾恩
艾恩
大端小端?做个位移运算就好啊。看起来像是大端。 (8<<8) | 64
0
风的幻想
风的幻想

最终解决方案:

var buffer = new ArrayBuffer();

var view = new DataView(buffer);

view.setUint8(0,byteArray[7]);

view.setUint8(1,byteArray[6]);

view.setUint8(2,byteArray[5]);

view.setUint8(3,byteArray[4]);

view.setUint8(4,byteArray[3]);

view.setUint8(5,byteArray[2]);

view.setUint8(6,byteArray[1]);

view.setUint8(7,byteArray[0]);

return view.getFloat64(0);

返回顶部
顶部