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

时间:2014-09-02 07:15:24

标签: c#

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

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

我的输出就像

123,234,000

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

12,32,34,000

7 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

您可以使用ToString(“N”)代替。 ToString(“N”)将打印2位十进制数字。要删除这两个数字,可以使用ToString(“N0”)。

编辑:将数字两两分开:

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

答案 2 :(得分:1)

尝试这样:

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

答案 3 :(得分:1)

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

输出:

12,32,34,000

答案 4 :(得分:0)

看起来你需要在文化格式en-IN中使用整数 请尝试以下

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

答案 5 :(得分:0)

试试这个

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

答案 6 :(得分:0)

我认为你试图以印度货币展示。如果是这样,这可能会有所帮助。

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