• C#常用的数据格式转换


    用DataFormatString格式化GridView 在 GridView里面显示数据,要显示的数据有好多位小数,就想让它只显示两位小数,在delphi里,直接用DisplayFormat就行了, 在.net中,查了半天msdn,发现使用DataFormatString是可以实现这个功能的,但是怎么设置就不起作用,最后发现,由于2.0出于安 全性的考虑,还要同时设置HtmlEncode = false,才能够使DataFormatString生效. 留个记号,下次用的时候,就不用浪费N多时间了. 还有还有,DataFormatString = "{0:F}",是默认格式,显示两位小数,如果需要显示的小数位数为其他值,DataFormatString = "{0:Fn}"即可.

    DataFormatString="{0:格式字符串}"

    在DataFormatString 中的 {0} 表示数据本身,而在冒号后面的格式字符串代表所们希望数据显示的格式;

    数字、货币格式: 在指定的格式符号后可以指定小数所要显示的位数。例如原来的数据为「1.56」,若格式设定为 {0:N1},则输出为「1.5」。其常用的数值格式如下表所示:

    格式字符串 输入 结果 "{0:C}" 12345.6789 $12,345.68 "{0:C}" -12345.6789 ($12,345.68) "{0:D}" 12345 12345 "{0:D8}" 12345 00012345 "{0:E}" 12345.6789 1234568E+004 "{0:E10}" 12345.6789 1.2345678900E+004 "{0:F}" 12345.6789 12345.68 "{0:F0}" 12345.6789 12346 "{0:G}" 12345.6789 12345.6789 "{0:G7}" 123456789 1.234568E8 "{0:N}" 12345.6789 12,345.68 "{0:N4}" 123456789 123,456,789.0000 "Total: {0:C}" 12345.6789 Total: $12345.68

    常用的日期时间格式:

    格式 说明 输出格式 d 精简日期格式 MM/dd/yyyy D 详细日期格式 dddd, MMMM dd, yyyy f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm F 完整日期时间格式 (long date + long time) dddd, MMMM dd, yyyy HH:mm:ss g 一般格式 (short date + short time) MM/dd/yyyy HH:mm G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss m,M 月日格式 MMMM dd s 适中日期时间格式 yyyy-MM-dd HH:mm:ss t 精简时间格式 HH:mm T 详细时间格式 HH:mm:ss

    C

    货币

    2.5.ToString("C")

    ¥2.50

    D

    十进制数

    25.ToString("D5")

    00025

    E

    科学型

    25000.ToString("E")

    2.500000E+005

    F

    固定点

    25.ToString("F2")

    25.00

    G

    常规

    2.5.ToString("G")

    2.5

    N

    数字

    2500000.ToString("N")

    2,500,000.00

    X

    十六进制

    255.ToString("X")

    FF

    formatCode 是可选的格式化代码字符串。(详细内容请搜索“格式化字符串”查看)

    必须用“{”和“}”将格式与其他字符分开。如果恰好在格式中也要使用大括号,可以用连续的两个大括号表示一个大括号,即: “{{”或者“}}”。

    常用格式举例:

    (1) int i=12345;

    this.textBox1.Text=i.ToString();

    //结果 12345(this指当前对象,或叫当前类的实例)

    this.textBox2.Text=i.ToString("d8");

    //结果 00012345

    (2) int i=123;

    double j=123.45;

    string s1=string.Format("the value is {0,7:d}",i);

    string s2=string.Format("the value is {0,7:f3}",j);

    this.textBox1.Text=s1 ;

    //结果 the value is 123

    this.textBox2.Text=s2;

    //结果 the value is 123.450

    (3)double i=12345.6789;

    this.textBox1.Text=i.ToString("f2"); //结果 12345.68

    this.textBox2.Text=i.ToString("f6");

    //结果 12345.678900

    (4)double i=12345.6789;

    this.textBox1.Text=i.ToString("n"); //结果 12,345.68

    this.textBox2.Text=i.ToString(“n4”); //结果 12,345.6789

    (5)double i=0.126;

    string s=string.Format("the value is {0:p}",i);

    this.textBox1.Text=i.ToString("p"); //结果 12.6%

    this.textBox2.Text=s; //结果 the value is 12.6%

    (6) DateTime dt =new DateTime(2003,5,25);

    this.textBox1.Text=dt.ToString("yy.M.d");

    //结果 03.5.25

    this.textBox2.Text=dt.ToString(“yyyy年M月”);

    //结果 2003年5月

    Convert.ToDateTime("2005/12/22 22:22:22").ToString("yyyy/MM/dd HH:mm:ss") "2005/12/22 22:22:22"

    (7) int i=123;

    double j=123.45;

    string s=string.Format("i:{0,-7},j:{1,7}",i,j);

    //-7表示左对齐,占7位

    this.textBox1.Text=s ;

    //结果i:123 ,j: 123.45

  • 相关阅读:
    【转】Android之Inflate()方法用途+setContentView和inflate区别
    【转】Android 面试题笔记android五种布局及其作用
    温故知新系列(一)冒泡排序
    一道Java面试题目——随想+心得
    关于String 和 StringBuffer、StringBuilder
    Mysql变量
    Mysql函数
    Mysql流程控制
    Mysql事物
    Mysql视图
  • 原文地址:https://www.cnblogs.com/yinyuejie/p/3372245.html
Copyright © 2020-2023  润新知