任何資料在計算機内部都是以二進制儲存的,是以進制與資料的存儲無關,隻與輸入
輸出有關。是以,對于進制轉換,我們隻關心字元串中的結果。
在上面的第 4 條中提到了 ToString() 方法可以将數值轉換成字元串,不過在字元串
中,結果是以十進制顯示的。現在我們帶給它加一些參數,就可以将其轉換成十六進制—
—使用 ToString(string) 方法。
這裡需要一個 string 類型的參數,這就是格式說明符。十六進制的格式說明符是 "x"
或者 "X",使用這兩種格式說明符的差別主要在于 A-F 六個數字:"x" 代表 a-f 使用小寫字
母表示,而 "X" 而表示 A-F 使用大字字母表示。如下例:
private void TestHex() { int a = 188; this.textBox1.Text = "";
this.textBox1.AppendText("a(10) = " + a.ToString() + "\n");
this.textBox1.AppendText("a(16) = " + a.ToString("x") + "\n");
this.textBox1.AppendText("a(16) = " + a.ToString("X") + "\n");}
運作結果如下:
a(10) = 188
a(16) = bc
a(16) = BC
這時候,我們可能有另一種需求,即為了顯示結果的整齊,我們需要控制十六進制表
示的長度,如果長度不夠,用前導的 0 填補。解決這個問題,我們隻需要在格式說明符“x”
或者“X”後寫上表示長度的數字就行了。比如,要限制在 4 個字元的長度,可以寫成“X4”。
在上例中追加一句:
this.textBox1.AppendText("a(16) = " + a.ToString("X4") + "\n");
其結果将輸出 a(16) = 00BC。
現在,我們還要說一說如何将一個表示十六進制數的字元串轉換成整型。這一轉換,
同樣需要借助于 Parse() 方法。這裡,我需要
Parse(string,System.Globalization.NumberStyles)
方法。第一個參數是表示十六進制數的字元串,如“AB”、“20”(表示十進制的 32) 等。第二個參數 System.Globalization.NumberStyles 是一個枚舉類型,用來表示十六進制的枚舉值是 HexNumber。是以,如果我們要将“AB”轉換
成整型,就應該這樣寫:
int b = int.Parse("AB",System.Globalization.NumberStyles.HexNumber),
最後得到的 b 的值是 171。
本文轉自軒脈刃部落格園部落格,原文連結:http://www.cnblogs.com/yjf512/archive/2010/06/21/1761694.html,如需轉載請自行聯系原作者