在.Net Framework中,System.Convert類中提供了較為全面的各種類型、數值之間的轉換功能。其中的兩個方法可以輕松的實現各種進制(2進制、8進制、10進制、16進制...)的數值間的轉換:
Convert.ToInt32(string value, int fromBase):
可以把不同進制數值的字符串轉換為數字,其中fromBase參數為進制的格式,只能是2、8、10及16:
如Convert.ToInt32(”0010”,2)執行的結果為2;
Convert.ToString(int value, int toBase):
可以把一個數字轉換為不同進制數值的字符串格式,其中toBase參數為進制的格式,只能是2、8、10及16:
如Convert.ToString(2,2)執行的結果為”0010”
現在我們做一個方法實現各種進制間的字符串自由轉換:選把它轉成數值型,然後再轉成相應的進制的字符串:
public string ConvertString(string value, int fromBase, int toBase)
{
int intValue = Convert.ToInt32(value, fromBase);
return Convert.ToString(intValue, toBase);
}
其中fromBase為原來的格式
toBase為將要轉換成的格式