c# - 在 C# 中使用自定义千位分隔符

标签 c# formatting text-formatting

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

例如:将 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/

相关文章:

c# - 将相同的属性应用于我的所有多边形

c# - 如何在 C# 中将所有消息存储在 Azure 存储队列上而不出列

php - 使用 php 格式化文本以插入数据库的正确方法

PHP格式化列表项

c# - 使用 WPF 绘制图像网格

c# - 在运行存储过程 C# 之前检查文本框或日期选择器是否已更改

html - html中不同的项目符号大小而不影响行高?

swift - Apple swift-format 更新 SwiftSyntax for Swift 5.3 工具链

c# - DataGridViewCheckBoxColumn : FormatException on boolean-column

python - 如何将 tkinter 中的 Entry 小部件的结果文本设置为斜体?