• 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

    来自: http://hi.baidu.com/sbiweeq/blog/item/f966661ff592166ff624e4ad.html

  • 相关阅读:
    C盘与D盘中间有个恢复分区,导致C盘不能扩展卷解决
    Win下,QT控制台无输出解决
    QT与ECharts交互,绘制曲线图
    博客园好看的自定义主题
    Qt5之控件在初始化时就触发了槽函数的问题解决方案
    使用QCustomPlot,跟随鼠标动态显示线上点的值
    QCustomPlot下setTickLabelType()函数在新版本被移除如何解决
    记一次QT使用QAxWidget打开.html文件调用显示离线百度地图不能缩放,自定义图片不能显示解决方法
    使用QPainter绘制汽车仪表盘,动态显示
    QT下使用百度地图js,发送角度值给js使小车根据角度值调整车头方向
  • 原文地址:https://www.cnblogs.com/howDo/p/Format.html
Copyright © 2020-2023  润新知