一、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();