仅用于正整数的数字格式

时间:2012-03-12 20:21:28

标签: c# string-formatting numeric

我目前正在使用N0格式化我的号码。是否有一种格式可用于仅允许正数 - 任何小于0的值都应默认为0?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

实现此目的的最佳方法是在格式化之前更改数值。例如

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