C#数字千分位问题

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

引用:http://www.cnblogs.com/lychee/p/5189765.htmlget

相关文章
相关标签/搜索