字符串相关:C#字符串输出格式

常用的C#字符串输出格式

近段时间在做项目时用到了字符串输出格式方面的内容,今天来整理一下,算是笔记吧,如果能帮到部分网友我也是很开心哒。

字符串组合输出

1、大部分开发者会选用加号键组合字符串并输出:

string str = "Hello";
string name="Jerry";
string result = str + " " + name;

输出结果:
Unity的界面UI
2、我们还可以选用格式化输出的方式来灵活的组合字符串并将其输出:即:我们先定义整个字符串的格式,然后把参数像填空一样,填写完善,最后输出;C#中我们可以选用string.Format方法来进行字符串的格式化。

string str = "Hello";
string name="Jerry !";
string result = string.Format("Hello {0}", name);

如示例所示:“{0}”将被name的值所代替,输出结果如下;
在这里插入图片描述

string str = "Hello";
string name="Jerry !";
string result = string.Format("{0}  {1}", str,name);

输出结果与上面相同:
在这里插入图片描述
【注意】,{n}应该算是定义格式化字符串的占位符,n表示后续参数的位置,n从0开始,如果n超出后续参数个数,则会报错;{0}对应数组第一个值,即对应上述示例中的str变量,{1}对应数组第二个值,对应上述示例中的name变量;

下面示例一个错误案例:

string str = "Hello";
string name="Jerry !";
string result = string.Format("{0}  {1}", str);

在这里插入图片描述
出现这个错误的原因是后面的变量只有一个,但是{1}确需要输出第二个参数,不存在第二个参数。

3、想要运用string.Format方法输出“{}”的方法请参考示例:

string str = "Hello";
string name="Jerry !";
string result = string.Format("{0}  {{}}  {1}", str);

输出结果 即“{{}}”代表“{}”:
在这里插入图片描述
4、【不常用】标准的数学格式字符串用于返回通常使用的字符串。它们通常象X0这样的格式。X是格式化标识符,0是精度标识符。格式标识符号共有9种,它们代表了大多数常用的数字格式。就像下表所示:

字母含义
C或cCurrency 货币格式
D或dDecimal 十进制格式(十进制整数,不要和.Net的Decimal数据类型混淆了)
E或eExponent 指数格式
F或fFixed point 固定精度格式
G或gGeneral 常用格式
N或n用逗号分割千位的数字,比如1234将会被变成1,234
P或pPercentage 百分符号格式
R或rRound-trip 圆整(只用于浮点数)保证一个数字被转化成字符串以后可以再被转回成同样的数字
X或xHex 16进制格式

如果我们使用下面的表达方式,让我们看看会发生什么

	 int i = 123456;
        Console.WriteLine("{0:C}", i); // ¥123,456.00
        Console.WriteLine("{0:D}", i); // 123456
        Console.WriteLine("{0:E}", i); // 1.234560E+005
        Console.WriteLine("{0:F}", i); // 123456.00
        Console.WriteLine("{0:G}", i); // 123456
        Console.WriteLine("{0:N}", i); // 123,456.00
        Console.WriteLine("{0:P}", i); // 12,345,600.00 %
        Console.WriteLine("{0:X}", i); // 1E240

public class FormatSpecApp
{
public static void Main(string[] args)
{
int i = 123456;
Console.WriteLine("{0:C}", i); // ¥123,456.00
Console.WriteLine("{0:D}", i); // 123456
Console.WriteLine("{0:E}", i); // 1.234560E+005
Console.WriteLine("{0:F}", i); // 123456.00
Console.WriteLine("{0:G}", i); // 123456
Console.WriteLine("{0:N}", i); // 123,456.00
Console.WriteLine("{0:P}", i); // 12,345,600.00 %
Console.WriteLine("{0:X}", i); // 1E240
}
}

精度控制标识控制了有效数字的个数或者十进制数小数的位数。

Console.WriteLine("{0:C5}", i); // ¥123,456.00
Console.WriteLine("{0:D5}", i); // 123456
Console.WriteLine("{0:E5}", i); // 1.23456E+005
Console.WriteLine("{0:F5}", i); // 123456.00000
Console.WriteLine("{0:G5}", i); // 1.23456E5
Console.WriteLine("{0:N5}", i); // 123,456.00000
Console.WriteLine("{0:P5}", i); // 12,345,600.00000 %
Console.WriteLine("{0:X5}", i); // 1E240

5、用于日期时间的格式规范
在这里插入图片描述
示例代码:

DateTime date = DateTime.Now; 
Console.WriteLine(string.Format("{0:D}", date));

输出:2020年9月15日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值