c# 10进制、8进制、16进制 和 2进制 相互转化
在日常应用中,常用的数值进制有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.toString("x2")表示将int型转化成2位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
Over
http://blog.sina.com.cn/s/blog_498b120c0100cnnm.html