5

たとえば、整数があり4060ます。

そこからHEX float ( ) を取得するにはどうすればよい\x34\xC8\x7D\x45ですか?

JS はfloatタイプしていないので、この変換を行う方法がわかりません。

ありがとうございました。

4

2 に答える 2

2

上記の答えはもはや有効ではありません。Buffer廃止されました ( https://nodejs.org/api/buffer.html#buffer_new_buffer_sizeを参照)。

新しいソリューション:

function numToFloat32Hex(v,le)
{
    if(isNaN(v)) return false;
    var buf = new ArrayBuffer(4);
    var dv  = new DataView(buf);
    dv.setFloat32(0, v, true);
    return ("0000000"+dv.getUint32(0,!(le||false)).toString(16)).slice(-8).toUpperCase();
}

例えば:

numToFloat32Hex(4060,true) // returns "00C07D45"
numToFloat32Hex(4060,false) // returns "457DC000"

Chrome と Firefox でテスト済み

于 2016-10-27T16:11:23.567 に答える