C# 二进制,八进制,十进制,十六进制之间的转换
常用基础转换
Convert.ToString(int value,int toBase)
----value为32位带符号整数,toBase为返回值的基数:2,8,10,16进制
Console.WriteLine("Convert.ToString(69,2)十进制转二进制:" + Convert.ToString(69,2));Console.WriteLine("Convert.ToString(69,8)十进制转八进制:" + Convert.ToString(69,8));Console.WriteLine("Convert.ToString(69,16)十进制转十六进制:" + Convert.ToString(69,16));Console.WriteLine("Convert.ToString(0X69,2)十六进制转二进制:" + Convert.ToString(0X69, 2));Console.WriteLine("Convert.ToString(0X69,8)十六进制转八进制:" + Convert.ToString(0X69, 8));Console.WriteLine("Convert.ToString(0X69,10)十六进制转十进制:" + Convert.ToString(0X69, 10));
输出结果:
Convert.ToString(69,2)十进制转二进制:1000101
Convert.ToString(69,8)十进制转八进制:105
Convert.ToString(69,16)十进制转十六进制:45
Convert.ToString(0X69,2)十六进制转二进制:1101001
Convert.ToString(0X69,8)十六进制转八进制:151
Convert.ToString(0X69,10)十六进制转十进制:105
Convert.ToInt32(string value,int fromBase)
----value为包含要转换数字的字符串,fromBase为value数字的基数 必须为:2,8,10,16进制
Console.WriteLine("Convert.ToInt32(\"55\")十进制:" + Convert.ToInt32("55"));Console.WriteLine("Convert.ToInt32(\"100111101\",2)二进制转十进制:" + Convert.ToInt32("100111101",2));Console.WriteLine("Convert.ToInt32(\"69\",8)八进制转十进制:" + Convert.ToInt32("76",8));Console.WriteLine("Convert.ToInt32(\"FF\",16)十六进制转十进制:" + Convert.ToInt32("FF",16));
输出结果:
Convert.ToInt32(“55”)十进制:55
Convert.ToInt32(“100111101”,2)二进制转十进制:317
Convert.ToInt32(“69”,8)八进制转十进制:62
Convert.ToInt32(“FF”,16)十六进制转十进制:255
其他转换方法
16进制转10机制
int num = System.Int32.Parse(“41”, System.Globalization.NumberStyles.HexNumber);//s为string类型,以“41”为例,输出为65
这里的s中不能带有“0X”或者“0x”,区别Convert.ToString(“0xaa”,10)–Convert.ToInt32(“0xaa”,16)。
二进制转十六进制
先转换为十进制,在转换为十六进制
string.Format("{0:X}",System.Convert.ToInt32(s, 2));// s为string类型 以“10010”为例,输出为12
十进制转换为16进制
string data = string.Format("{0:x}",10);string data2 = "";data2 = 10.ToString("x");
常用的数值格式化命令:
| 字符 | 说明 | 示例 | 输出 |
|---|---|---|---|
| C | 货币 | string.Format("{0:C}",9) | ¥9.00 |
| D | 10进制 | string.Format("{0:D}",9) | 9 |
| E | 科学计数法 | string.Format("{0:E}",12345) | 1.234500E+004 |
| F | 小数 | string.Format("{0:F}",12345) | 12345.00 |
| G | 常规 | string.Format("{0:G}",12345) | 12345 |
| N | 用逗号隔开的数字 | string.Format("{0:N}",12345) | 12,345.00 |
| P | 百分比 | string.Format("{0:P}",0.12345) | 12.35% |
| X | 16进制 | string.Format("{0:X}",10) | A |
| 占位符 | string.Format(“{0:000.000}”, 12.3) | 012.300 |
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
