我试图在显示字符串时不使用’,’字符作为千位分隔符,而是使用空格代替。我想我需要定义一种自定义文化,但是我似乎并没有正确地做到这一点。有指针吗?
例如:将1000000显示为1000000,而不是1000000
(不,String.Replace()这不是我想使用的解决方案:P)
String.Replace()
我建议您找到一个NumberFormatInfo最符合您想要的内容(即,它与千位分隔符分开),调用Clone()它,然后设置NumberGroupSeparator属性。(如果要使用货币格式设置数字格式,则也需要更改CurrencyGroupSeparator/ 更改。)将其用作调用string.Formatetc 的格式信息,应该没问题。例如:
NumberFormatInfo
Clone()
NumberGroupSeparator
CurrencyGroupSeparator
string.Format
using System; using System.Globalization; class Test { static void Main() { NumberFormatInfo nfi = (NumberFormatInfo) CultureInfo.InvariantCulture.NumberFormat.Clone(); nfi.NumberGroupSeparator = " "; Console.WriteLine(12345.ToString("n", nfi)); // 12 345.00 } }