2012-03-12 37 views
2

我目前使用N0格式化我的號碼。有沒有一種格式可以用來允許只有正值 - 小於0的任何值都應該默認爲0?只有正整數的數字格式

+3

這似乎更少的格式和更多的「業務邏輯」,我個人。 – 2012-03-12 20:23:25

回答

5

可以通過這樣一種格式字符串中指定不同的格式做到這一點:

someNumeric.ToString("N0;\"0\""); 

或相同格式字符串的一部分:

String.Format("{0:0;\"0\";}", someNumeric); 

的順序是(用於2格式字符串):

positiveformat-or-zeroformat;negative 

這裏看到更多的信息:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx#SectionSeparator

+0

只有它應該是'「{0:0; \」0 \「}」' – 2012-03-12 20:29:34

+0

@Hrnk謝謝修復它 – ntziolis 2012-03-12 20:32:00

+0

+1。 @ntziolis,你對零格式的評論是錯誤的一面。感謝分享有趣的格式化珍聞! – 2012-03-12 20:47:00

1

實現此目的的最佳方法是在格式化之前更改數值。例如

Console.WriteLine("{0:N0}", number < 0 ? 0 : number); 
+0

好主意,謝謝! – Rivka 2012-03-12 20:23:42

+1

或者只是'Math.Max(0,number)'。 – 2012-03-12 20:24:12

+0

@JaredPar - 我實際上最終使用了你的方法,因爲格式不適用於我的UltraGrid - 謝謝! (希望我們可以標記多個答案:)) – Rivka 2012-03-13 14:16:53

相關問題