2011-08-13 33 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 –