如何在c#中的数字中添加逗号

本文关键字:添加 数字 | 更新日期: 2023-09-27 18:20:28

使用String.Format如何确保所有数字都有逗号,例如123000 = "1,23,000";

String.Format(CultureInfo.InvariantCulture,"{0:0,0}",amount);

我得到了类似的输出

123,234,000

我不想要它。但我希望输出像一样

12,32,34,000

如何在c#中的数字中添加逗号

您可以创建具有不同数字组大小的格式信息:

NumberFormatInfo formatInfo = new NumberFormatInfo();
formatInfo.NumberGroupSizes = new int[] { 3, 2 };
int amount = 123234000;
Console.WriteLine(String.Format(formatInfo, "{0:N0}", amount));

输出:

12,32,34,000
int num=123234000;
Console.WriteLine(String.Format(
new System.Globalization.NumberFormatInfo() 
  { 
    NumberGroupSeparator=",",
    NumberGroupSizes=new int[]{3,2}
  },
"{0:#,#}", num));

输出:

12,32,34,000

您可以使用ToString("N")来代替它。ToString("N")将打印2位十进制数字。要去掉这两个数字,可以使用ToString("N0")。

编辑:将数字一分为二:

123123123123.ToString("#,#", new NumberFormatInfo() { NumberGroupSizes = new[] { 2 } })

这样尝试:

int NewAmount=123456;
String.Format("{0:##,##,##,###}", NewAmount)

看起来您需要以区域性格式en-in进行整数尝试以下

String.Format(new CultureInfo("en-IN"), "{0:0,0}", amount);

试试这个

123456789.ToString("N1", CultureInfo.CreateSpecificCulture("hi-IN"))

我认为您正试图显示为印度货币。如果是这样的话,这可能会有所帮助。

    string fare = "1234567";
    decimal parsed = decimal.Parse(fare, CultureInfo.InvariantCulture);
    CultureInfo hindi = new CultureInfo("hi-IN");
    string text = string.Format(hindi, "{0:c}", parsed);