PHP-将hexdec值转换为版本字符串

PHP-将hexdec值转换为版本字符串,php,hex,Php,Hex,我正在使用一个未记录的API,它的版本号为hexdecvalue。我希望将其转换为版本控制字符串 实例 API提供以下值:117473280(hexdec('7008000')) 应将其转换为字符串:7.00 我已使用以下函数来执行此操作: function getFirmwareFromDechex($dechex) { if(!empty($dechex) || $dechex !== '0') { $dechex = dechex($dechex);

我正在使用一个未记录的API,它的版本号为
hexdec
value。我希望将其转换为版本控制字符串

实例 API提供以下值:
117473280
hexdec('7008000')

应将其转换为字符串:
7.00

我已使用以下函数来执行此操作:

function getFirmwareFromDechex($dechex) {
    if(!empty($dechex) || $dechex !== '0') {
        $dechex = dechex($dechex);
        $dechex = substr($dechex, 0, 3);
        $dechex = number_format($dechex / 100, 2);
            
        return $dechex;
    }
    
    return false;
}

echo getFirmwareFromDechex('117473280');
这是有效的。但是,当它必须转换版本10.00时,它会将其转换为1.00

如何使函数与更高版本号(如10.00)兼容

使现代化
在查看了第三方如何在其网站上显示这些版本后,似乎我确实需要用0填充左边的数字。

我认为十六进制字符串应该是8字节长,所以用0(
str_pad()
with
str_pad_left
)填充开头,然后取前4个字符

function getFirmwareFromDechex($dechex) {
    if(!empty($dechex) || $dechex !== '0') {
        $dechex = str_pad(dechex($dechex), 8, 0, STR_PAD_LEFT);
        $dechex = substr($dechex, 0, 4);
        $dechex = number_format($dechex / 100, 2);

        return $dechex;
    }

    return false;
}