LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#小知识:“$”符号的作用及Format格式化字符串

admin
2024年5月21日 13:53 本文热度 703

作者:Hello Bug.

转自:blog.csdn.net/LLLLL__/article/details/89505619 

   C#中$符号是从C# 6.0版本开始推出的语法糖,主要是对String.format()的简化,当然format也不是没有价值,本文将介绍C#中$符及String.format的一些通用用法。

一:$符号的用法

$符号的作用相当于对String.format()的简化

例如我们需要输出一段包含nameage的字符串:

using System;class Program{static void Main(string[] args){  string name = "liu";  int age = 10;  //夏杂麻烦的写法  string str1 = "my name is " + name + ",my age is " + age + ",";  //使用Format的写法  string str2 = string.Format("my name is (0),my age is (1).", name, age);//使用 $语法糖的写法  string str3 = $"my name is {name},my age is {age}.";  //控制台的三个输出都相同Console.Writeline(str1)  console.Writeline(str2):  Console.Writeline(str3);  }}

——由代码显然可见第一种写法复杂麻烦,使用起来是不方便的
——使用Format格式化这种写法,需要自己在字符串中写占位符(标记),在后面跟上参数。但是如果要格式化的参数比较多,写起来就比较麻烦
——使用
$语法糖的写法可读性高,代码简洁。
——注意$与第一个"之前不能有空格

因为C#是美国人发明的,所以用$符号,那么如果是中国人发明的C#或许这个语法糖就使用¥符号了吧.....


二:Format格式化字符串

//将数字转换为四舍五入后的数字,位数不足则补0Console.WriteLine(string.Format("{0:F}", 10.555));//10.56Console.WriteLine(string.Format("{0:F1}", 10.555));//10.6Console.WriteLine(string.Format("{0:F1}", 10));//10.0
//转换为十六进制的值Console.WriteLine(string.Format("{0:X}", 10));//AConsole.WriteLine(string.Format("{0:x}", 10));//a
//转换为当前国家的货币符号,默认保留2位小数,会四舍五入Console.WriteLine(string.Format("{0:C}", 10.135));//¥10.14Console.WriteLine(string.Format("{0:C1}", 10.135));//¥10.1
//转换为百分分显示,默认保留2位小数,会四舍五入Console.WriteLine(string.Format("{0:P}", 0.55));//55.00%Console.WriteLine(string.Format("{0:P0}", 0.55));//55%
//转换成以分号分隔的数字,3位一分割,默认保留2位小数Console.WriteLine(string.Format("{0:N}", 12345));//12,345.00Console.WriteLine(string.Format("{0:N0}", 12345));//12,345
//格式化十进制的数,只支持十进制的数,不足则以零填充,超过精度则原数输出Console.WriteLine(string.Format("{0:D}", 155));//155Console.WriteLine(string.Format("{0:D5}", 155));//00155
//零占位符,位数不够则补0,会四舍五入Console.WriteLine(string.Format("{0:00.00}", 23.195));//23.20Console.WriteLine(string.Format("{0:000.00}", 23.195));//023.20
//#占位符,前后的0被舍去,会四舍五入Console.WriteLine(string.Format("{0:##.##", 23.195));//23.2Console.WriteLine(string.Format("{0:###.##}", 23.195));//23.2
//前后补空格Console.WriteLine(string.Format("{0,-5}", 99.9));//99.99 Console.WriteLine(string.Format("{0,5}", 99.9));// 99.99
//日期和时间(C#控制台和Unity中输出的略有区别,下面是Unity中的输出结果)DateTime dt = new DateTime(2023, 8, 2, 13, 40, 53, 55);Console.WriteLine(string.Format("{0:D}", dt));//2023年8月2日Console.WriteLine(string.Format("{0:d}", dt));//2023/8/2Console.WriteLine(string.Format("{0:F}", dt));//2023年8月2日 13:40:53Console.WriteLine(string.Format("{0:f}", dt));//2023年8月2日 13:40Console.WriteLine(string.Format("{0:G}", dt));//2023/8/2 13:40:53Console.WriteLine(string.Format("{0:g}", dt));//2023/8/2 13:40Console.WriteLine(string.Format("{0:T}", dt));//13:40:53Console.WriteLine(string.Format("{0:t}", dt));//13:40Console.WriteLine(string.Format("{0:m}", dt));//8月2日
Console.WriteLine(string.Format("{0:yyyyMMdd}", dt));//20230802Console.WriteLine(string.Format("{0:yyyy-MM-dd}", dt));//2023-08-02Console.WriteLine(string.Format("{0:yyyy/MM/dd HH:mm:ss.fff}", dt));//2023/08/02 13:40:53.055


该文章在 2024/5/21 16:26:50 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved