我试图在显示字符串时不使用“,”字符作为千位分隔符,而是使用空格。我想我需要定义一种自定义文化,但我似乎没有做对。有什么指点吗?
例如:将 1000000 显示为 1 000 000 而不是 1,000,000
(不,String.Replace()
不是我想使用的解决方案:P)
最佳答案
我建议你找一个NumberFormatInfo
最接近您想要的(即它与千位分隔符不同),请调用 Clone()
就可以了,然后设置NumberGroupSeparator
属性(property)。 (如果您要使用货币格式来格式化数字,则需要更改 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
}
}
关于c# - 在 C# 中使用自定义千位分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752145/