繁体   English   中英

C#格式化数字的不同语法

[英]C# different syntax in formatting numbers

我有一个关于在C#中格式化数字的简单问题。

我有这样的格式

{0:0.00######################}

这是该网站建议的,它基本上显示数字的至少2位小数。

然后, 该网站建议使用其他格式的字符串

0.00######################

现在,我了解前者和后者在功能上有所不同。 例如,我应该在string.Format()调用中使用前者,而在Decimal.ToString()调用中使用后者。 但是我想知道的是,花括号和

0:

有任何想法吗?

使用String.Format ,可以有多个将被格式化的“项目”。 这是通过使用{n}确定的,其中n是值列表的索引:

var result = string.Format("Arg1 == {0}, Arg2 == {1}", arg1, arg2);

对于Decimal.ToString和类似的东西,这不是必需的,因为只有一个值。

0:实际上只是{0} ,而:用来打破格式规范( :之后的所有内容实际上与ToString方法使用的相同)。

使用String.Format ,大括号表示您正在放置要由字符串替换的参数。 0表示它是第一个参数,因此请考虑以下因素:

Console.WriteLine(String.Format("{0} {1} {2}", "A", "B", "C"));

将输出“ ABC”。 鉴于:

Console.WriteLine(String.Format("{2} {0} {1}", "A", "B", "C"));

将输出“ CAB”。

希望能有所帮助。

花括号用作要替换为该值的“符号”。 花括号中的数字(从0开始的索引)是指向该值的索引。

例:

string.Format("{0:#,##0} {1:#,##0} {0:#,##0}", 2345, 6789);

将产生:

2,345 6,789 2,345

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM