2010-09-17 100 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