C# 2進位制、8進位制、10進位制、16進位制...各種進位制間的輕鬆轉換

iDotNetSpace發表於2010-01-22

在.NET Framework中,System.Convert類中提供了較為全面的各種型別、數值之間的轉換功能。其中的兩個方法可以輕鬆的實現各種進位制的數值間的轉換:

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為將要轉換成的格式

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-625750/,如需轉載,請註明出處,否則將追究法律責任。

相關文章