2011-03-17 73 views
1

我已經瀏覽了.Net框架的所有數字格式選項, ,我無法找到需要的格式。.Net數字格式化

我有我 需要的格式的字符串(不代碼),其確實的浮子變量以下:

如果值= 1500.00格式化的字符串將是:1500(而不是1,500.00) 值= 1500.53格式化字符串將是:1,500.53 如果值= 0.53格式化字符串將是:0.53

使「n」和「NO」格式不爲我做的伎倆, 因爲「N」總是添加「.00」,如果值是整數 ,因爲「n」是浮點數, 和「N0」輪數整數即使該值不是一個整數(1500.53)

我需要這是一個字符串,因爲我使用的格式在 ASPXGridView(DevExpress的控制)列 - DisplayFormatString屬性

任何人都可以幫忙嗎?

感謝

另一件事:以後的位數。可以變化..例如可以是: 1500.53536

+0

看看這些文檔:http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx – 2011-03-17 09:08:00

+0

MikeEast - 謝謝..但我已經讀過,並且找不到答案,所以我決定問:) – Alex 2011-03-17 09:16:02

回答

5

我沒有Visual Studio中可用,現在對其進行測試,但after reading the documentation我敢肯定,下面應該工作:

#,##0.## 

編輯:如果你的號碼可以有2個以上小數位,就在小數點後加#秒的相應編號,例如:

#,##0.############## 

#意味着:數字或空的,而0表示:數字或0。因此,給出的示例將根據需要顯示小數點後的所有位數(但最多爲# s)。

1

看看custom numeric format strings。我想你想要的是這樣的:"##,#.##"

+0

你有什麼想知道爲什麼MSDN上的例子使用'##,#。##'而不是,例如'#,#。##'? – Heinzi 2011-03-17 09:11:52

+0

@xanatos:聽起來很合理,但爲什麼'1000.ToString(「##,#。##」)'輸出'1,000'? – Heinzi 2011-03-17 09:31:51

2

就像「###,## 0。##」那麼?