用逗号格式化大数字

the*_*rrs 0 c# formatting numbers

我需要格式化一个数字,以便有一个逗号分隔数千位以上的任何数字,包括10000.例如10000变为10,000但9999剩余为9999.

我想使用格式字符串来执行此操作,因为我不想测试数据以查看它的范围.

有谁知道如何做到这一点?

dtb*_*dtb 8

对于不同的值,格式字符串的行为不同,因此您可以做的最好的事情是:

int n;

string s = n >= 10000 ? n.ToString("n0") : n.ToString("d");
Run Code Online (Sandbox Code Playgroud)

(这将使用用户的文化; 如果需要不同的文化,则传递INumberFormatInfo/ CultureInfo.)

MSDN:标准自定义数字格式字符串

  • 顺便提一下,如果你用正数,负数和零除以,你*可以*做多种格式.请参阅此处:http://msdn.microsoft.com/en-us/library/0c899ak8.aspx#SectionSeparator您不能为除此之外的部门执行此操作. (2认同)