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

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo