2010-09-17 77 views
0

我正在使用infragistic网格,并设置每个列的DisplayFormat。 DisplayFormat是字符串类型,并且使用它`值来显示cellValue.ToString(DisplayFormat)的值,表示值,以用户当在网格(如红外文档说)字符串格式问题

在网格我有双打中,具有点之后有很多数字,我不知道有多少。 而我需要使用千位分隔符。所以:

如果我有:

<br/> 
12345678.12345 
<br/> 
12345678.12 
<br/> 
, I want grid to show: 
<br/> 
1234,5678.12345 
<br/>1234,5678.12 

如果我设置DisplayFormat到N5,我得到: 1234,5678.12000

我怎样才能做到这一点?

回答

3

我不清楚你想要什么。

  1. 如果你想显示准确 2位小数,那么你可以使用N2
  2. 如果您只想显示高达 2位小数(如果它们包含有效数字),则使用#,0.##
  3. 如果你想显示所有重要的小数位,那么你可以使用像#,0.########之类的东西。 (理想情况下你会小数点来处理所有可能微乎其微double值后具有约340 #字符,它是由你来决定正是你需要的。)我建议使用N2
+0

我想告诉所有的数字,这个数字有。但我想忽略最后的零。所以,如果我有1.8900000,我只需要显示1.89 – Archeg 2010-09-17 08:58:51

+0

谢谢,第三选择,即使它很丑,正在工作)真的很奇怪,为什么FW没有更好的方式来提供这样的格式 - 我认为它们是非常用户友好的,友好的 – Archeg 2010-09-17 09:04:44

+0

在这种情况下,您需要选项*(3)*以上:'#,0。########',并且如果您预计值小于'0.00000001',那么您需要添加更多小数点后的'#'字符(最多340个字符,我认为这足以处理任何微小的'double'值)。 – LukeH 2010-09-17 09:05:09

0

。数字是您希望看到的小数位数,如果有必要,用零填充。

+0

我需要点后的所有数字,我有这样的值:11234.271653876127836781263187,和123213.12它会很难阅读123213.1200000000000000 =) – Archeg 2010-09-17 09:01:03

0

试试这个

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-us"); 
double x = 1234567.2342342d; 
Console.WriteLine(string.Format("{0:0,0.00}", x)); 

输出:

1,234,567.23