Fork me on GitHub

1.首先做一下知识的普及
C或c Currency 货币格式
D或d Decimal 十进制格式
E或e Exponent 指数格式
F或f Fixed point (float)固定精度格式
G或g General 常用格式
N或n 用逗号分割千位的数字,比如1234将会被变成1,234
P或p Percentage 百分符号格式
R或r Round-trip 圆整(只用于浮点数)保证一个数字被转化成字符串以后可以再被转回成同样的数字
X或x Hex 16进制格式

int i = 123456;
Console.WriteLine("{0:C}", i); // ¥123,456.00
Console.WriteLine("{0:D}", i); // 123456
Console.WriteLine("{0:E}", i); // 1.234560E+005
Console.WriteLine("{0:F}", i); // 123456.00
Console.WriteLine("{0:G}", i); // 123456
Console.WriteLine("{0:N}", i); // 123,456.00
Console.WriteLine("{0:P}", i); // 12,345,600.00 %
Console.WriteLine("{0:X}", i); // 1E240

2.用string.Format实现的和上面的一样,这里不再详细举例

Console.WriteLine(string.Format("{0:C}", i)); // ¥123,456.00

3.占位符

0 0占位符 用0填充不足的位数
# 数字占位符 用#代替实际的位数

i = 1234;
Console.WriteLine("{0:C5}", i);     // ¥123,4.00000
Console.WriteLine("{0:0}", i);      // 1234
Console.WriteLine("{0:00000}", i);  // 01234
Console.WriteLine("{0:#}", i);      // 1234 
Console.WriteLine("{0:####}", i);   // 1234 

4.日期的转换

Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss")); //  08/23/2016 23:23:23

5.位运算 NOT 由否定号(~)表示
位运算 NOT 实质上是对数字求负,然后减 1,因此 25 变 -26

int iNum1 = 25;               //25 等于 00000000000000000000000000011001
int iNum2 = ~iNum1;           //转换为  11111111111111111111111111100110
Console.WriteLine(iNum2);     //输出 "-26"
iNum1 = 25;
iNum2 = -iNum1 - 1;
Console.WriteLine(string.Format("(~)表示:{0}", iNum2));

6.位运算 AND 由和号(&)表示,直接对数字的二进制形式进行运算,都是1为1,否则为0

以下的没有类型的都是int,在一个程序中,定义一次就可以了

iNum1 = 25;         //25 等于 0000 0000 0000 0000 0000 0000 0001 1001
iNum2 = 3;          //3  等于 0000 0000 0000 0000 0000 0000 0000 0011
//             //输出//1 等于 0000 0000 0000 0000 0000 0000 0000 0001
Console.WriteLine(string.Format("(&)表示:{0}", iNum1 & iNum2));

7.位运算 OR 由符号(|)表示,也是直接对数字的二进制形式进行运算,都是0为0,否则为1

iNum1 = 25;         //25 等于 0000 0000 0000 0000 0000 0000 0001 1001
iNum2 = 3;          //3  等于 0000 0000 0000 0000 0000 0000 0000 0011
//            //输出//27 等于 0000 0000 0000 0000 0000 0000 0001 1011
Console.WriteLine(string.Format("(|)表示:{0}", iNum1 | iNum2));

8.位运算 XOR 由符号(^)表示,当然,也是直接对二进制形式进行运算,不同为1,相同为0

iNum1 = 25;         //25 等于 0000 0000 0000 0000 0000 0000 0001 1001
iNum2 = 3;          //3  等于 0000 0000 0000 0000 0000 0000 0000 0011
//            //输出//26 等于 0000 0000 0000 0000 0000 0000 0001 1010
Console.WriteLine(string.Format("(^)表示:{0}", iNum1 ^ iNum2));

9.左移运算由两个小于号表示(<<)。它把数字中的所有数位向左移动指定的数量。

iNum1 = 2;             //等于二进制 10
iNum2 = iNum1 << 5;    //等于二进制 1000000 十进制 64
Console.WriteLine(string.Format("(<<)表示:{0}", iNum2));

 10.C# 进制转换(二进制、十六进制、十进制互转)

10.1 十进制转二进制字符串

Console.WriteLine(string.Format("Convert.ToString(10, 2):{0} ", Convert.ToString(10, 2)));   //输出: 1010

10.2 十进制转八进制字符串

Console.WriteLine(string.Format("Convert.ToString(10, 8):{0} ", Convert.ToString(10, 8)));  //输出: 12

10.3 十进制转十六进制字符串

Console.WriteLine(string.Format("Convert.ToString(10, 16):{0} ", Convert.ToString(10, 16)));  //输出: a

10.4 二进制字符串转十进制数

Console.WriteLine(string.Format("Convert.ToInt32('1010', 2) {0}",Convert.ToInt32("1010", 2)));  //输出: 10

10.5 二进制字符串转十六进制数

Console.WriteLine(string.Format("二进制字符串转十六进制数 {0:x}", Convert.ToInt32("1010", 2))); //输出: a

10.6 十六进制转二进制字符串

Console.WriteLine(string.Format("Convert.ToString(0xa, 2) :{0}", Convert.ToString(0xa, 2)));   //输出: 1010

10.7 十六进制转十进制数

Console.WriteLine(string.Format("Convert.ToString(0xa, 10) :{0}", Convert.ToString(0xa, 10)));  //输出: 10

 

posted on 2016-08-24 00:04  lingfeng95  阅读(2633)  评论(0编辑  收藏  举报