base_convert и отрицательные числа - PullRequest
5 голосов
/ 13 августа 2011

Функция base_convert (), похоже, не сохраняет знак.

Например:

var_dump (base_convert ('-100', 10, 10));

Выходное значение равно 100

Есть ли способ преобразования баз без потери знака?

1 Ответ

6 голосов
/ 13 августа 2011

Я не видел стандартную функцию 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);
}

В данный момент у меня нет доступа к PHP, чтобы проверить это, но это должно дать вам хорошую идею.

...