zoukankan      html  css  js  c++  java
  • C#的格式化(进制转换|位运算)

    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
  • 相关阅读:
    mysql处理字符串
    关于git新建本地分支与远程分支关联问题
    phpexcel相关函数
    centos添加开机启动项目
    centos搭建NFS网络文件系统
    centos 查看版本(转)
    ubuntu搭建nfs网络文件系统
    linux 日常学习
    从现在开始强迫自己使用 Reflect
    正则小括号实践
  • 原文地址:https://www.cnblogs.com/zhao123/p/5801320.html
Copyright © 2011-2022 走看看