使用String.Format
如何确保所有号码都有逗号,例如123000 = "1,23,000";
String.Format(CultureInfo.InvariantCulture,"{0:0,0}",amount);
我的输出就像
123,234,000
我不想要它。但我希望输出像
12,32,34,000
答案 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);