C#核编之格式化编程
时间:2022-04-24
本文章向大家介绍C#核编之格式化编程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、格式化控制台输入输出
1、 在前面的随笔中,会经常看到诸如{0},{1}之类的标记嵌入在字符串变量中。.NET引入一种字符串格式化的新风格。与C的printf()相似,简而言之,如果需要定义一个字符串字面量,其中包含一些运行时才能知道其值的数值片段,可以使用花括号语法在文本内部指定占位符,在运行时,值会传递到Console.WriteLine()来代替每一个占位符。
注:如果唯一编号的占位符的数量比后面填充的参数数量多,则会抱一个格式异常,如果比填充的参数少,没有使用的参数就会被忽略!
代码如下:
Console.WriteLine("this is {0},that is {1}","apple","banana");
2、在一个字符串中可以重复给定一个占位符(占位符可以是一样的),如果说你是一个甲壳虫乐队的爱好者,想建立一个字符串"9,number 9,number 9"。代码如下:
Console.WriteLine("{0},Number {0},Number {0}","9");
如上代码所示,占位符是可以重复的,当然也不需要按照递增的次序,如下代码就可以说明:
Console.WriteLine("{1},{0},{2}",10,20,30);//输出:20,10,30
二、格式化数值数据
1、在控制台应用程序中用Console.WriteLine()方法来格式化数据
StringBuilder str = new StringBuilder();
str.AppendFormat("中国的货币符号是{0:c}", 999);//输出:¥999.00 将目标数值转换成以当地货币形式的数值
str.AppendFormat("格式化十进制数,用于指定填充值的最小个数{0:d9}",999);// 输出:000000999 {0:d9}--->0代表参数的顺序,d9代表将10进制数的位数设置成9位,不够用0补
str.AppendFormat("小数点格式化,也用于填充指定值的小数个数{0:f3}", 999.9994);//输出:999.000 {0:f3}--->0代表参数的顺序,f3代表将999的小数位数设置成3位,没有小数的话用0补,多于3位的话,删除多余的位数
str.AppendFormat("将普通数字转换成指数{0:e}", 999);//输出:9.990000e+002 {0:e}--->0代表参数的顺序,e代表将该数字转换成指数形式
str.AppendFormat("将普通数字转换成指数{0:n}", 66666666);//输出:66,666,666.00 用于基本的数值格式化(带逗号)
str.AppendFormat("将普通数字转换成指数{0:x}", 66666666);//输出:3f940aa 将目标数值16进制化
Console.WriteLine(str);
2、在控制台应用程序之外格式化数值数据
.NET字符串格式化字符不局限与在控制台应用程序中使用,同样的格式化语法可以在调用string.format()使用,如果我们需要对任何应用程序类型(例如桌面GUI程序、ASP.NET WEB应用程序)在运行时组合文本数据,这个方法就很有用。
string.format()返回一个新的字符串对象,修改用户提供的字符串对象和该对象提供的标志进行格式化。代码如下:
string userMessage=string.Format("100000 in hex is {0:x}",100000);
Console.WriteLine(userMessage);//输出:100000 in hex is 186a0
- 张兴华:云端架构助力企业快速成长
- 腾讯云GAME-TECH沙龙干货回顾:腾讯游戏云全球化实践
- 基于内容关键性的高效 FEC 抗网络丢包算法
- 腾讯云GAME-TECH沙龙干货回顾:三七互娱游戏全球化运营心得分享
- 《实现模式》读书总结
- 腾讯云 GAME-TECH 沙龙干货回顾:Eyougame 海外发行实践分享
- 腾讯 AI Lab 副主任俞栋:过去两年基于深度学习的声学模型进展
- 白辉(七公):电商转型难题,看云如何破题
- 《Node.js在CLI下的工程化体系实践》成都OSC源创会分享总结
- 5分钟教你玩转 sklearn 机器学习(上)
- WebSocket系列之socket.io
- Python 数据分析学习笔记
- ERP管理软件系统设计方案
- 腾讯云GAME-TECH沙龙——全球同服游戏语音解决方案
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java并发编程(3)- 如何安全发布对象
- Python 技术篇-3行代码实现语音朗读,pywin32库实现语音朗读
- Java并发编程(2)- 线程安全性详解
- Python 技术篇-1行代码实现语音识别,speech库快速实现简单的语音对话
- linux和windows互传文件,用户配置文件和密码配置文件,用户组和用户管理
- 除Innodb和MyISAM外MySQL还有哪些存储引擎
- MySQL自身对性能的影响
- Python 技术篇-用pywin32库实现读写剪贴板
- Excel 技巧篇-在指定范围内生成指定小数位的随机数
- PyQt5 技巧篇-窗口置顶设置,如何使窗口始终显示在最前面
- 解决npm install时报错无法安装chromedriver的问题
- 解决集成jpa时无法创建entityManagerFactory的问题
- Spring船新版推出的WebFlux,是兄弟就来学我
- JDK9特性-Reactive Stream 响应式流
- Java函数式编程之Stream流编程