base_convert和负数

Gor*_*onM 5 php base-conversion

base_convert()函数似乎没有保留符号。

例如:

var_dump (base_convert ('-100', 10, 10));
Run Code Online (Sandbox Code Playgroud)

此输出为100

有没有一种转换基数而不丢失符号的方法?

Bra*_*ley 6

我没有看到这样做的PHP标准函数,但是您可以编写自己的函数。

function signed_base_convert($number, $src_base, $dest_base)
{
    $sign = (intval($number, $src_base) >= 0 ? '' : '-');
    return $sign . base_convert($number, $src_base, $dest_base);
}
Run Code Online (Sandbox Code Playgroud)

我目前无法使用PHP进行测试,但这应该可以为您带来一个好主意。