Javascript / PHP将64位整数解释为float

时间:2014-09-15 00:55:18

标签: javascript php

我有一个64位整数,我想将其解释为float。我可以在PHP或javascript中进行这种解释,因此任何可能的解决方案都可以选择他们选择的语言。

我并不是说我想重新分配4到4.0之类的东西。

我有8个字节的数据:

Dec(int):4619191942746344941

Dec(浮动):6.6666000000000000

Hex:401AAA9930BE0DED

我的4619191942746344941存储在我的javascript / php代码中的变量中。如何将其转换为6.6666000000000000?

1 个答案:

答案 0 :(得分:2)

您可以使用pack

来完成
//$number = 4619191942746344941;
$pack = pack('H*', '401AAA9930BE0DED');
$pack = strrev($pack);
var_dump(unpack('d', $pack)); // 6.6666

Demo

作为功能

function getFloatFromInteger($integer)
    {
    $hex = dechex($integer);
    $pack = pack('H*', $hex);
    $pack = strrev($pack);
    $result = unpack('d', $pack);
    return $result[1];
    }

var_dump(getFloatFromInteger(4619191942746344941));

P.S。存在pack function on js的实现。