2014-02-27 77 views
3

如何在C#中使用逗號以以下格式顯示數字。如何以貨幣格式顯示數字

例:12345678 我想顯示該號碼爲1,23,45,678

任何人能給出答案這一點。 謝謝。

+0

你好,你是什麼格式化規則:3最後再由2個包? – Jurion

+0

如果你想每3個數字逗號,我會使用'money.ToString(「C」);' – SSpoke

+0

你試過閱讀文檔嗎?關於格式化字符串的部分? – TomTom

回答

1

據我所知,這是一種格式化貨幣的印度風格。

Console.WriteLine(intValue.ToString("N1", CultureInfo.CreateSpecificCulture("hi-IN"))); 

其中intValue是要格式化的數字。

對於你的問題中的相同輸入,你應該得到完全「1,23,45,678」。

+0

它是這樣給出的1,23,45,67,890.0,點後如何顯示2個零。示例1,23,45,67,890.00致謝 – Srinivas

+0

嘗試給N2而不是N1 – aquaraga

0

試試這個

int number = 12345678 ; 
Convert.ToDecimal(number).ToString("#,##0"); 
0

你可以試試這個: -

Double number = 12345678; 
String output = number.ToString("C2"); 

退房的Currency Formatter

「C」(或貨幣)格式說明符將數字轉換爲表示貨幣金額的字符串 。精度說明符在結果字符串中表示 所需的小數位數。如果省略了 精度說明符,則默認精度由NumberFormatInfo.CurrencyDecimalDigits屬性定義爲 。

0

您可以使用自定義格式Cc使用ToString()

從MSDN的貨幣格式說明:自定義格式cC

結果:貨幣值。

受支持:所有數字類型。

精度說明符:小數位數。

默認精度說明符:由System.Globalization.NumberFormatInfo定義。

嘗試:

int myVal= 12345678; 
string finalVal= myVal.ToString("C"); 
Console.WriteLine(finalVal); 

嘗試一下:如果你不想精度。

int myVal= 12345678; 
string finalVal= myVal.ToString("C0"); 
Console.WriteLine(finalVal); 
0
int number = 123456789; 
string Result = number.ToString("#,##0"); 

試試這個。 希望它有幫助

using System.Globalization; 


NumberFormatInfo info = new NumberFormatInfo(); 
     info.NumberGroupSizes = new int[] { 3, 2 }; 
     int number = 12345678; 
     string Result = number.ToString("#,#", info); 

在這裏你去...

+1

不是問什麼問題。輸出爲:12,345,678,問題是約1,23,45,678 – Jurion

+0

是Jurion,最後3個是每包2個。謝謝 – Srinivas

0
string.Format("{0:C}", 12345678) 
0
you can use cultureinfo to show currency with your number 

decimal dec = 123.00M; 
string uk = dec.ToString("C", new CultureInfo("en-GB"); // uk holds "£123.00" 
string us = dec.ToString("C", new CultureInfo("en-US"); // us holds "$123.00" 
0

好,非常骯髒的解決方案,但如果有一個格式,這可能想不通。

所以我把過去的3,然後用兩包:

  int number = 212345678; 
      string semiRes = number.ToString(); 
      var lastThree = semiRes.Substring(semiRes.Length - 3, 3); 
      List<string> resulatArray = new List<string>(); 
      resulatArray.Add(lastThree); 
      semiRes = semiRes.Substring(0, semiRes.Length - 3); 
      for (int i = 2; i <= semiRes.Length + 2; i = i + 2) 
      { 
       var start = semiRes.Length - i; 
       var len = 2; 
       if (start < 0) 
       { 
        len = 2 + start; 
        start = 0; 
       } 
       var nextTwo = semiRes.Substring(start, len); 
       resulatArray.Insert(0, nextTwo); 
      } 
      var result = string.Join(",", resulatArray); 
      if (result.StartsWith(",")) 
      { 
       result = result.Substring(1); 
      } 
+0

謝謝..下面的函數給出了相同的結果.Console.WriteLine(intValue.ToString(「N1」,CultureInfo.CreateSpecificCulture(「hi-IN」))); – Srinivas

+0

不錯!我會注意到這一個:) – Jurion