在日常应用中,常用的数值进制有10进制、8进制、16进制 和 2进制。
在 .NET 里,实现数制转换可以说是非常简单方便的, 大致的实现方式有两种:
- 比较通用的方式
System.Convert.ToInt?? ( ?, int fromBase ) //fromBase表示原数的进制,可以为 2,8,16 System.Convert.ToString ( ?, int toBase) //toBase 是要转换为的进制,可以为 2, 8, 16
- 适用于10进制和16进制之间的互换
int.Parse (string s, System.Globalization.NumberStyles.HexNumber) //和 int.ToString("X") //搭配
第一种方式实例:
string hexNumber = "0F"; int digitNumber = System.Convert.ToInt32 ( hexNumber, 16 ); hexNumber = System.Convert.ToString ( digitNumber, 16 );
第二种方法的实例:
int digitNumber = 100; string hexNumber = digitNumber.ToString ( "X" ); digitNumber = int.Parse ( hexNumber, System.Globalization.NumberStyles.HexNumber );
下面一起列出 ToString("?") 的一些常用格式化使用方法:
符号 | 说明 | 示例 | 输出结果 | 备注 |
C | 货币 Currency | (3.8).ToString("C") | ¥3.80 | 货币结果的显示方式,与 System.Globalization.CultureInfo.CurrentCulture 的设置相关 |
D | 十进制 Digital | (38).ToString("D6") | 000038 | “D6”中的"6" 表示返回字符串的长度 |
E | 科学型 | (3800).ToString("E") | 3.800000E+004 | |
F | 浮点数 Float | (38).ToString("F3") | 38.000 | “F3”中的 "3" 是小数点的位数 |
G | 普通 General | (38).ToString("G") | 38 | |
N | (12345).ToString("N") | 12,345.00 | ||
X | 16进制 | (38).ToString("X") | 26 |