2013-04-25 988 views
27

此代码是从查尔斯Pettzold的“编程Windows第六版”的书:什么是ToString(“N0”)格式?

public object Convert(object value, Type targetType, object parameter, string language) 
{ 
    return ((double)value).ToString("N0"); 
} 

ToString("N0")应该打印带有逗号分隔符,没有小数点的值。我无法在文档中找到对合适的ToString过载和"N0"格式的引用。请将我指向.NET文档中的正确位置。

回答

66

签出MSDN上的following article关于N格式的示例。这篇文章也包含在Standard Numeric Format Strings文章中。

相关摘录:

//   N:      1,054.32 
//   N0:     1,054 
//   N1:     1,054.3 
//   N2:     1,054.32 
//   N3:     1,054.322 
+14

这将是很好知道的1054.56 N0,返回1055,而不是1054。非常相关! – 2016-12-22 13:31:17

1

作为示例部分中的注释,您可以找到格式为here(在Double.ToString() - MSDN-Article)中的列表。

2

这是文档是:

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

的数字( “N”)格式说明一个数字转换的 字符串形式“-d,DDD,ddd.ddd ...”,其中 “ - ” 表示负数 符号如果需要的话, “d” 表示一个数字(0-9)...

而这正是他们谈论的默认(2):

http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecimaldigits.aspx

 // Displays a negative value with the default number of decimal digits (2). 
     Int64 myInt = -1234; 
     Console.WriteLine(myInt.ToString("N", nfi));