C#中的格式编号[重复]

Posted

技术标签:

【中文标题】C#中的格式编号[重复]【英文标题】:format number in C# [duplicate] 【发布时间】:2011-06-24 16:42:51 【问题描述】:

可能重复:.NET String.Format() to add commas in thousands place for a number

如何在 C# 中将数字 1234567 格式化为 1,234,567?

【问题讨论】:

这个问题已经有足够的答案了,伙计们。你可以停止发布新的。随意删除确切的重复项。 【参考方案1】:

有关Int32.ToString() 的格式选项,请参阅standard format strings 或custom format strings。

例如:

string s = myIntValue.ToString("#,##0");

可以在 String.Format 中使用相同的格式选项,如

string s = String.Format("the number 0:#,##0!", myIntValue);

请注意,该格式的, 并未指定“使用逗号”,而是应在特定区域性的位置使用当前区域性的分组字符.

您也不需要为每个位置指定逗号。格式字符串中有逗号的事实意味着使用了特定于文化的分组。

因此,对于 pl-PL,您会得到“1 234 567 890”,对于 hi-IN,您会得到“1,23,45,67,890”。

【讨论】:

【参考方案2】:
var decimalValue = 1234567m; 
var value =  String.Format("0:N", decimalValue); // 1,234,567.00

或没有美分

var value =  String.Format("0:N0", decimalValue); // 1,234,567

【讨论】:

【参考方案3】:

使用您当前语言环境的千位分隔符:

int n = 1234567 ;
n.ToString("N0");

或者,使用 ToString 的重载,它将文化作为参数。

【讨论】:

这是我一直在使用的,但现在需要知道它是四舍五入还是只是在遇到问题时删除小数并且无法找到答案。你知道它是什么吗?如果知道,它是什么?谢谢。【参考方案4】:

试试 String.Format("0:##,####,####", 8958712551)

示例请查看http://www.csharp-examples.net/string-format-double/

【讨论】:

【参考方案5】:
string formatted = string.Format("0:##,#", 123456789);

这取决于您计算机的文化。有些国家使用逗号,有些国家使用点。在我的电脑上,输出是:123.456.789

【讨论】:

以上是关于C#中的格式编号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用访问数据类型自动编号的条件表达式c#中的数据类型不匹配

C#中的DataGridViews数组

C#根据用户输入在类实例中查找数组[重复]

ASP.NET C# 如何合并DataTable中的重复数据(做数据整合)

如何为R中的重复值分配唯一的等级编号

查找日期之间的天数C# [重复]