常用基础转换
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 |