2011-08-13 6 views
4

base_convert()関数は符号を保持していないようです。例えばbase_convertと負の数値

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

これの出力は100

ある記号を失わずに拠点を変換する方法はありますか?

+1

大きな質問です! – elslooo

答えて

4

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へのアクセスを持っていないが、それはあなたに良いアイデアを与える必要があります。

+0

私は、任意の数と基数の間の基本変換を扱うためのユーティリティを作成しました。見てください:https://github.com/thunderer/Numbase –