c语言编程怎么换负符号颜色,「小雨学编程之C sharp」显示输出(续) 格式替换标记...

本文主要是介绍c语言编程怎么换负符号颜色,「小雨学编程之C sharp」显示输出(续) 格式替换标记...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前介绍了我们的Console.WriteLine()的基础用法,带领大家熟悉了如何在我们自己的程序中使用别人的代码输出简单的内容。接下来,我们继续使用Console.WriteLine()来为大家展示,如何在我们自己的代码中,通过使用别人的代码来解决实际问题,从而体会代码的多样引用为我们带来的方便。

需求例子1:我们要向屏幕输出第一季度季度销售A组的销售业绩

数据为:

1000元 1月份

12345元 2月份

123元 3月份

123456元 4月份

要求输出格式为:输出金额+月份

我们正常的思路为:

5cce476c0115bef36253f50cea6eb3b3.png

运行效果:

308dfc5146236a3e174b3913c28ec84c.png

但是我们想起了之前我们介绍过Console.WriteLine()的模板用法,于是我们修改代码:

75e05a09e0cd18846aa5fe2e08d36a24.png

运行效果:

464d1f5f3019ac9f1c4475f5e329c9bc.png

但是我们发现,需求效果我们达到了,但是输出结果每行参差不齐,看着特别别扭,如果这个是给财务人员用的,阅读起来会花费大量的精力,于是我们想到,是否可以通过在模板中添加空格的方式,手动的将内容对其,但是自己观察我们会发现,每个月份的销售金额位数都是变化的,无法通过空格的方式进行同一的对其。

这时候我们就涉及到了,Console.WriteLine()对替换标签的细节用法:格式化,于是我们修改代码:

32366ab562b128445bc8a5ead9e697f3.png

运行效果:

4544b4db03ffba467dcb83100672e793.png

此时我们发现,每行整体对其了,并且每行的开头会自动出现若干个空格,对每行进行自动的补齐。

d90e0f6e41c649c48480349f50b2830e.png

这是怎么回事?

其实这里我们对替换标识符的改造为,输出金额的同时,给每行输出金额的位置自动划分10个字符的长度,让系统自动为刨除实际输出字符位数后余下的长度,用空格补齐。

这样,每行的输出长度都是相同的,我们看到的就是整齐的输出结果。

这就是Console.WriteLine()对替换标识符的细节用法。

其实我们的替换标识符的完整格式为

索引号:第几个替换的内容

对齐说明符:指定字段的宽度,以及左对齐还是右对齐

格式字段(可选):指定项的格式

其中可选的意思是,需要的时候使用,不需要的时候不使用,可选这个词在我们之后的编程过程中还会涉及到。

那么我们修改的的意思便是在替换第一个替换项的同时,指定这个字段整体长度为10,并且右对齐。为啥是右对齐呢,其实这里如果是正数,便是右对齐,如果是负数就是左对齐啦。

需求例子2:在向屏幕输出第一季度季度销售A组的销售业绩的同时,对数字进行财务显示格式的转换

这个财务显示格式是啥意思,意思就是说如果是数字1000,就显示成1,000.00,如果是12345就显示成12,345.00。

从需求上看,挺简单的,我们就挨个更换呗,将代码挨个修改一下,将1000改成1,000.00,将12345改成12,345.00就好啦?

但是,问题是,这样的手动修改会出现两个问题:1、手动修改很容易犯错。2、如果数据量巨大我们手动修改的代价也巨大。

这个时候,我们就应用上格式化替换标识符的格式字段这个项了。

我们修改代码:

2ffe8600592a5733c6cd4f2cec29b162.png

运行结果:

9d7a52355fad00d851b099d71bf2360b.png

我们看到,通过修改了一下代码,我们的整体金额部分,全部自动转换了。

这时候我们看到,最后一行输出多出了一点,整体并不对齐了,这个简单,这只说明我们之前设置的整体长度10,不够用了,我们将其修改成15就好啦:

ec5a4e40e1986dcb33be97322ae11e7c.png

运行效果:

c3961063add11e85ff129d46e15ded3c.png

这时候,有粉丝会问,这个长度这样看来也是不固定的呀,这我们要通过什么来设置呢?

这里要和大家说明,当我们在解决客户的实际问题的时候,你的项目策划在推给你项目需求的时候,会将实际项目需求描述的很细,比如,针对财务数据的保存,项目策划会通过和客户沟通,推算出对应数据保存的上限,到时候,我们可以通过这个上限直接设定对应的长度,但是如果在实际应用中,经过一段时间的使用,客户的资金量变大从而出现长度不够的时候,我们也可以通过对客户的二次服务,将程序通过打补丁的方式进行升级。这也是我们经常升级电脑中和手机中的应用的原因:对应程序的开发团队,通过程序升级的方式给对应的程序修改错误和添加功能。

回到我们的代码,我们现在将格式化替换标识符中的三个项目都使用到了。而且我们也看到了第三项这个可选的效果。当没有使用这个第三项的时候,系统默认就是将我们的代码中输入的数字原样输出,当使用这个第三项的时候,系统会依据这个第三项,对我们输入的数字进行自动转换。

以下列出了,格式字段的常用项,大家感兴趣的可以挨个写到自己的代码中看看效果!

货币 c、C(不区分大小写)

使用货币符号将对应值转化为货币,货币符号取决于程序所在PC的区域设置

精度说明符:小数位数

示例:Console.WriteLine("",12.5);

输出:12.50

十进制 d、D(不区分大小写)

十进制数字字符串,需要的情况下有负数符号,只能和整数类型配合使用

精度说明符:输出字符串中的最少位数。如果实际数字的位数更少,则在左边用0填充

示例:Console.WriteLine("",12);

输出:0012

定点 f、F(不区分大小写)

带有小数点的十进制数字字符串。如果需要也可以用负数符号

精度说明符:小数的位数

示例:Console.WriteLine("",12.345678);

输出:12.3457

常规 g、G(不区分大小写)

在没有指定说明符号的情况下,会依据值转换为定点或科学计数法表示的紧凑形式

精度说明符:依据值

示例:Console.WriteLine("",12.345678);

输出:12.35

十六进制 x、X(区分大小写)

十六进制数字的字符串。十六进制数字A~F会匹配说明符的大小写形式

精度说明符:输出字符串中的最少位数。如果实际数的位数更少,则在左边以0填充

示例:Console.WriteLine("",180026);

输出:2bf3a

数字 n、N(不区分大小写)

和定点表示法相似,但是在每三个数字的一组中间有逗号或空格分隔符。从小数点开始往左数。使用逗号还是空格分隔符取决于程序所在PC的区域设置

精度说明符:小数的位数

示例:Console.WriteLine("",12.345678.54321);

输出:12,345,678.54

百分比 p、P(不区分大小写)

表示百分比的字符串。数字会乘以100

精度说明符:小数的位数

示例:Console.WriteLine("",0.1221897);

输出:12.22%

往返过程 r、R(不区分大小写)

保证输出字符串后如果使用parse方法将字符串转化成数字,那么该值和原始值一样。

精度说明符:忽略

示例:Console.WriteLine("",1234.21897);

输出:1234.21897

科学记数法 e、E(区分大小写)

具有尾数和指数的科学记数法。指数前面加字母E。E的大小写和说明符一致

精度说明符:小数的位数

示例:Console.WriteLine("",12.3456789);

输出:1.23456e+001

aa4634b23240b98a92e1864148b44f58.png

举报/反馈

这篇关于c语言编程怎么换负符号颜色,「小雨学编程之C sharp」显示输出(续) 格式替换标记...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/336754

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq