在显示字符串时,我尝试不使用“,”字符作为千位分隔符,而是使用空格。我想我需要定义一种自定义文化,但我似乎做得不对。有什么指点吗?

例如:将 1000000 显示为 1 000 000 而不是 1,000,000

(不, String.Replace() 不是我想使用的解决方案:P)

有帮助吗?

解决方案

我建议你找一个 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
    }
}
scroll top