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 = ;
Console.WriteLine("{0:C}", i); // ¥123,456.00
Console.WriteLine("{0:D}", i); //
Console.WriteLine("{0:E}", i); // 1.234560E+005
Console.WriteLine("{0:F}", i); // 123456.00
Console.WriteLine("{0:G}", i); //
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 = ;
Console.WriteLine("{0:C5}", i); // ¥123,4.00000
Console.WriteLine("{0:0}", i); //
Console.WriteLine("{0:00000}", i); //
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 等于 00000000000000000000000000011001
int iNum2 = ~iNum1; //转换为 11111111111111111111111111100110
Console.WriteLine(iNum2); //输出 "-26"
iNum1 = ;
iNum2 = -iNum1 - ;
Console.WriteLine(string.Format("(~)表示:{0}", iNum2));
6.位运算 AND 由和号(&)表示,直接对数字的二进制形式进行运算,都是1为1,否则为0
以下的没有类型的都是int,在一个程序中,定义一次就可以了
iNum1 = ; //25 等于 0000 0000 0000 0000 0000 0000 0001 1001
iNum2 = ; //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 等于 0000 0000 0000 0000 0000 0000 0001 1001
iNum2 = ; //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 等于 0000 0000 0000 0000 0000 0000 0001 1001
iNum2 = ; //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 = ; //等于二进制 10
iNum2 = iNum1 << ; //等于二进制 1000000 十进制 64
Console.WriteLine(string.Format("(<<)表示:{0}", iNum2));
10.C# 进制转换(二进制、十六进制、十进制互转)
10.1 十进制转二进制字符串
Console.WriteLine(string.Format("Convert.ToString(10, 2):{0} ", Convert.ToString(, ))); //输出: 1010
10.2 十进制转八进制字符串
Console.WriteLine(string.Format("Convert.ToString(10, 8):{0} ", Convert.ToString(, ))); //输出: 12
10.3 十进制转十六进制字符串
Console.WriteLine(string.Format("Convert.ToString(10, 16):{0} ", Convert.ToString(, ))); //输出: a
10.4 二进制字符串转十进制数
Console.WriteLine(string.Format("Convert.ToInt32('1010', 2) {0}",Convert.ToInt32("", ))); //输出: 10
10.5 二进制字符串转十六进制数
Console.WriteLine(string.Format("二进制字符串转十六进制数 {0:x}", Convert.ToInt32("", ))); //输出: a
10.6 十六进制转二进制字符串
Console.WriteLine(string.Format("Convert.ToString(0xa, 2) :{0}", Convert.ToString(0xa, ))); //输出: 1010
10.7 十六进制转十进制数
Console.WriteLine(string.Format("Convert.ToString(0xa, 10) :{0}", Convert.ToString(0xa, ))); //输出: 10
C#的格式化(进制转换|位运算)的更多相关文章
- 【JavaScript】进制转换&位运算,了解一下?
前言 在一般的代码中很少会接触到进制和位运算,但这不代表我们可以不去学习它.作为一位编程人员,这些都是基础知识.如果你没有学过这方面的知识,也不要慌,接下来的知识并不会很难.本文你将会学习到: 进制转 ...
- javascript中的类型转换(进制转换|位运算)
1:parseInt(string) : 这个函数的功能是从string的开头开始解析,返回一个整数 parseInt("123hua"); //输出 123 parseInt(& ...
- Python笔记_第一篇_面向过程_第一部分_3.进制、位运算、编码
通过对内存这一个部分的讲解,对编程会有一个相对深入的认识.数据结构是整个内存的一个重要内容,那么关于数据结构这方面的问题还需要对进制.位运算.编码这三个方面再进行阐述一下.前面说将的数据结构是从逻辑上 ...
- 4.Python 进制和位运算
.button, #logout { color: #333; background-color: #fff; border-color: #ccc; } span#login_widget > ...
- Codeforces Round #299 (Div. 2) B. Tavas and SaDDas【DFS/*进制思维/位运算/一个数为幸运数,当且仅当它的每一位要么是4,要么是7 ,求小于等于n的幸运数个数】
B. Tavas and SaDDas time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Python 进制转换、位运算
一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...
- import导入模块,==和is,浅拷贝和深拷贝,进制转换,位运算,私有化,property装饰器
'''import导入模块'''import sysprint(sys.path) sys.path.append('D://ASoft/Python/PycharmProjects')import ...
- Java 进制转换(二进制(负),八进制,十进制,十六进制),位运算、逻辑运算(2)
负数的二进制表现形式:其实就是该数的绝对值取反+1. 进制转换(二进制,八进制,十进制,十六进制),原理解析 十六进制的表现形式: (2)(与.异或.左移.右移.三元运算符)
- JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算
JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...
随机推荐
- Zabbix 3.0 LTS安装配置
关于Zabbix监控项类型的官网介绍: https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes zabbix ...
- 使用mysqlbinlog恢复指定表
从整库备份的sql文件中导出某个表的sql语句时,vim查找到表的第一条INSERT语句后,按上下换行键计数INSERT语句的条数,然后按n yy复制,退出vim后,再新建一个文件,按p粘贴刚才的n条 ...
- docker的完整解决方案2
这个解决方案很简单 使用docker自带的swarm 首先初始化集群 docker swarm init 然后其余节点加入集群,这个就不说,太简单了 集群初始化后,可以查看下集群状态 docker n ...
- MYSQL数据库中,常见的数据类型有哪些?它们与java中的数据类型如何对应
A.常规 映射 integer 或者 int int 或者 java.lang.Integer INTEGER 4 字节 long long Long BIGINT 8 字节 short short ...
- 通过GCEASY 和 jfr 发现运行时问题
进入 /dev/shm 目录 ,gc-xxx-xx 的gc 文件 ,上次 gceasy 进行分析 另外 ,通过打开 飞行记录器 , 打开jmc 通过jmx 端口连接上去 ,并启用飞行记录器 ...
- 新手如何学习Java——Java学习路线图
推荐初学者阅读:新手如何学习Java——Java学习路线图
- sass 使用clac的问题
最后在github的issue中找到了方法,要想在sass的calc中使用变量,必须对这个变量使用sass的插值方法(#{$variable}). 所以把代码改正下面的形式就可以了: width: c ...
- Linux命令_2
P42 远程管理 命令 目标 关机/重启 shutdown 查看或配置网卡信息 ifconfig ping 远程登录和复制文件 ssh scp 01.关机/重启 命令: shutdown 选项 时 ...
- BlockingQueue 解析
阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞.试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列 ...
- appium的内存泄露问题
appium的一个内存泄露的问题 标签(空格分隔): appium 我们在做移动端的测试后时候,经常会用到appium 但是有时候我们跑一个小时候/2个小时候时候,会遇到appium报错的信息: ap ...