c#在格式化数字方面的语法不同

本文关键字:语法 方面 格式化 数字 | 更新日期: 2023-09-27 18:06:16

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

我有一个这样的格式

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

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

那么这个网站建议使用不同的格式字符串

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

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

的重要性
0:

任何想法?

c#在格式化数字方面的语法不同

当您使用String.Format时,您可以有多个将被格式化的"item"。这是通过使用{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"));

将输出"A B C"。而:

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

将输出"C A B"。

希望对你有帮助。

大括号用作"符号",将被值替换。花括号中的数字(从0开始的索引)是指向该值的索引。

的例子:

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

将导致:

2,345 6,789 2,345