一、C#中用最簡單的方法把數字(不含小數)轉換爲千分位格式:
如1234567變成1,234,567html
方法:測試
1234567.ToString("###,###") 或 1234567.ToString("N0")
二、C#中把數字轉換成帶兩位小數的千分位字符:code
如1234567.891變成1,234,567.89orm
方法:htm
String.Format("{0:N}",1234567.891); //默認爲兩位小數,若是沒有小數位,則小數位補兩個0 或 String.Format("{0:N2}",1234567.891);
字母 含義
C或c Currency 貨幣格式
D或d Decimal 十進制格式(十進制整數,不要和.Net的Decimal數據類型混淆了)
E或e Exponent 指數格式
F或f Fixed point 固定精度格式
G或g General 經常使用格式
N或n 用逗號分割千位的數字,好比1234將會被變成1,234
P或p Percentage 百分符號格式
R或r Round-trip 圓整(只用於浮點數)保證一個數字被轉化成字符串之後能夠再被轉回成一樣的數字
X或x Hex 16進制格式blog
static void Main() { int i=12345; Console.WriteLine("{0:C}",i); //貨幣 Console.WriteLine("{0:D}",i); //十進制數 Console.WriteLine("{0:E}",i); //科學技術法 Console.WriteLine("{0:F}",i); // 浮點數表示法 Console.WriteLine("{0:G}",i); //G或g General 經常使用格式 Console.WriteLine("{0:N}",i); //N或n 用逗號分割千位的數字 }
測試:ip
第一種方法:ci
/// <summary> /// 利用ToString轉換成指定格式 /// </summary> /// <param name="s"></param> /// <returns></returns> static string Thousands(string s) { double n=double.Parse(s); string nums = n.ToString("###,###");//或.ToString("N0") return nums; }
//調用第一種方法 try { Console.WriteLine("請輸入數字:"); string s = (Console.ReadLine()).ToString(); string th = Thousands(s); Console.WriteLine("數字已標記千分位:\n{0}", th); Console.ReadLine(); } catch { Console.WriteLine("輸入有誤,程序結束請從新輸入"); Console.ReadLine(); }
第二種方法:字符串
/// <summary> /// 利用string.Format限定格式轉換 /// </summary> /// <param name="s"></param> /// <returns></returns> static string Thousand(string s) { int i = int.Parse(s); string str=string.Format("{0:N}", i);//得出千分位結果並保留兩位小數 int strLast=str.IndexOf(".");//找到.在字符串中的位置 string nums=str.Substring(0,strLast);//保留.以前的字符串 return nums; }
//調用第二種方法 string nums=Thousand("12312312"); Console.WriteLine(nums); Console.ReadLine();