格式字符串之间的区别

时间:2016-02-01 12:58:36

标签: c#

我在这里得到了这个代码,用ToString格式化小数(" ### 0")。 但是我没有看到只是调用ToString()

的任何不同
decimal count = 123456;

Console.WriteLine(count.ToString("###0")); // SAME
Console.WriteLine(count.ToString()); // SAME

### 0做什么?

3 个答案:

答案 0 :(得分:2)

  

取代"#"带有相应数字的符号(如果有);否则,结果字符串中不会出现数字。

     

请注意,如果输入字符串中的相应数字是非重要数字0,则结果字符串中不会出现数字。例如,0003(" ####") - > 3。

Source

所以在你的情况下,你有一个六位数字,但只有三个"#"符号所以它不会产生任何影响。

如果你有更多"#"或更小的数字,你会发现不同。

答案 1 :(得分:0)

Here you have the official document about custom formats.

ToString()使用默认格式,然后您可以使用您喜欢的任何其他格式。您刚刚选择了自定义格式,在您的情况下匹配默认格式。

#代表一个数字,但只有在数字有效的情况下才会显示。 0是任何数字,但始终显示。

答案 2 :(得分:0)

有关于自定义字符串格式的文档。

这是一个例子,希望它会有所帮助......

string yourString = digit.ToString("+#;-#");

每个以分号分隔的部分表示正数和负数

或:

string yourString = digit.ToString("+#;-#;0");

如果您不希望零点有加号。