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
D10进制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%
X16进制string.Format("{0:X}",10)A
占位符string.Format(“{0:000.000}”, 12.3)012.300


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部