c#在格式化数字方面的语法不同
本文关键字:语法 方面 格式化 数字 | 更新日期: 2023-09-27 18:06:16
我有一个关于c#中数字格式的简单问题。
我有一个这样的格式
{0:0.00######################}
是这个网站建议的,它基本上显示了一个数字的至少2位小数。
那么这个网站建议使用不同的格式字符串
0.00######################
现在,我明白了前者和后者在功能上的区别。例如,我应该在string.Format()调用中使用前者,而在Decimal.ToString()调用中使用后者。但是我想知道的是花括号和
的重要性0:
任何想法?
当您使用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