📅  最后修改于: 2023-12-03 14:59:42.145000             🧑  作者: Mango
在 C# 中,我们常常需要将数字转换为带有千位分隔符的字符串。比如将 10000 转换为 "10,000"。本文将介绍两种实现方法。
C# 各种数字类型都有一个 ToString 方法,可以将数字转换为带有千位分隔符的字符串。例如:
int n = 123456789;
string s = n.ToString("N0");
Console.WriteLine(s); // 输出: 123,456,789
其中,"N0" 表示使用当前区域设置(如中文或英文)中的千位分隔符,并且不保留小数位。
需要注意的是,ToString 方法的效率并不高,尤其是要在循环中进行大量转换时会显得非常耗时。因此,还有一种更高效的方法。
自定义格式化字符串是 C# 中的一种高级特性,可以让程序员自己定义数字转换成字符串的格式,包括千位分隔符、小数点的位置和精度等等。其基本语法是:
{ value, format }
其中,value 是要转换的值,format 是格式化字符串,可以包含数字和千位分隔符。例如:
int n = 123456789;
string s = string.Format("{0:#,0}", n);
Console.WriteLine(s); // 输出: 123,456,789
其中,"#,0" 表示使用千位分隔符,并将零值转换为"0"。
需要注意的是,自定义格式化字符串的效率比 ToString 方法高得多,可以在循环中快速地进行大量转换。因此,建议在需要频繁进行数字转换的情况下使用自定义格式化字符串。
在 C# 中,可以使用 ToString 方法或自定义格式化字符串将数字转换为带有千位分隔符的字符串。前者使用简单,但效率较低;后者效率更高,但需要掌握高级用法。可以根据具体情况选择合适的方法。