zoukankan      html  css  js  c++  java
  • String.Format格式说明

    在写程序的过程中我们常常会遇到格式化字符串呀啥的,如:DataTime.ToString("yyyy-MM-dd")等,当然最常用的应该是String.Format了,非常方便好用!

    但有时有些格式记不住,只要认真分析这个规律,其实它很好记,很快就掌握了,我特意收集起来,希望对大家有所帮助!

    C#格式化数值结果表

    ------------------------------------------------------

    字符 --------  说明  ------  示例  -----------  输出


    C 货币 string.Format("{0:C3}", 2) $2.000
    D 十进制 string.Format("{0:D3}", 2) 002
    E 科学计数法 1.20E+001 1.20E+001
    G 常规 string.Format("{0:G}", 2) 2
    N 用分号隔开的数字 string.Format("{0:N}", 250000) 250,000.00
    X 十六进制 string.Format("{0:X000}", 12) C


    string.Format("{0:000.000}", 12.2) 012.200
    Strings

    真的没有任何格式在一个强大的、超越它的位置。如有任何争议对齐的作品被印刷在一个字符串: 

    String.Format("->{1,10}<-", "Hello"); -> Hello<-
    String.Format("->{1,-10}<-", "Hello"); ->Hello <-
    Numbers

    基本的数字格式:
     
    Specifier Type Format 
    Output
    (Passed
    Double 1.42)
    Output
    (Passed
    Int -12400)
    c Currency {0:c} $1.42 -$12,400
    d Decimal (Whole number) {0:d} System.
    FormatException -12400
    e Scientific {0:e} 1.420000e+000 -1.240000e+004
    f Fixed point {0:f} 1.42 -12400.00
    g General {0:g} 1.42 -12400
    n Number with commas for thousands {0:n} 1.42 -12,400
    r Round trippable {0:r} 1.42 System.
    FormatException
    x Hexadecimal {0:x4} System.
    FormatException cf90

     
    特殊类型的例子输出:


    0 Zero placeholder {0:00.0000} 1500.4200 Pads with zeroes.
    # Digit placeholder {0:(#).##} (1500).42 
    . Decimal point {0:0.0} 1500.4 
    , Thousand separator {0:0,0} 1,500 Must be between two zeroes.
    ,. Number scaling {0:0,.} 2 Comma adjacent to Period scales by 1000.
    % Percent {0:0%} 150042% Multiplies by 100, adds % sign.
    e Exponent placeholder {0:00e+0} 15e+2 Many exponent formats available.
    ; Group separator see below  
    The group separator is especially useful for formatting currency values which require that negative values be enclosed in parentheses. This currency formatting example at the bottom of this document makes it obvious:
    Dates

    Note that date formatting is especially dependant on the system's regional settings; the example strings here are from my local locale.
     
    Specifier Type Example (Passed System.DateTime.Now)
    d Short date 10/12/2002
    D Long date December 10, 2002
    t Short time 10:11 PM
    T Long time 10:11:29 PM
    f Full date & time December 10, 2002 10:11 PM
    F Full date & time (long) December 10, 2002 10:11:29 PM
    g Default date & time 10/12/2002 10:11 PM
    G Default date & time (long) 10/12/2002 10:11:29 PM
    M Month day pattern December 10
    r RFC1123 date string Tue, 10 Dec 2002 22:11:29 GMT
    s Sortable date string 2002-12-10T22:11:29
    u Universal sortable, local time 2002-12-10 22:13:50Z
    U Universal sortable, GMT December 11, 2002 3:13:50 AM
    Y Year month pattern December, 2002
    The 'U' specifier seems broken; that string certainly isn't sortable.
    Custom date formatting:
     
     
    dd Day {0:dd} 10
    ddd Day name {0:ddd} Tue
    dddd Full day name {0:dddd} Tuesday
    f, ff, ... Second fractions {0:fff} 932
    gg, ... Era {0:gg} A.D.
    hh 2 digit hour {0:hh} 10
    HH 2 digit hour, 24hr format {0:HH} 22
    mm Minute 00-59 {0:mm} 38
    MM Month 01-12 {0:MM} 12
    MMM Month abbreviation {0:MMM} Dec
    MMMM Full month name {0:MMMM} December
    ss Seconds 00-59 {0:ss} 46
    tt AM or PM {0:tt} PM
    yy Year, 2 digits {0:yy} 02
    yyyy Year {0:yyyy} 2002
    zz Timezone offset, 2 digits {0:zz} -05
    zzz Full timezone offset {0:zzz} -05:00
    : Separator {0:hh:mm:ss} 10:43:20
    / Separator {0:dd/MM/yyyy} 10/12/2002
    Enumerations

     
     
    g Default (Flag names if available, otherwise decimal)
    f Flags always
    d Integer always
    x Eight digit hex.

    几个有用的例子:

    String.Format("{0:$#,##0.00;($#,##0.00);Zero}", value);
    This will output "$1,240.00" if passed 1243.50. It will output the same format but in parentheses if the number is negative, and will output the string "Zero" if the number is zero.
    String.Format("{0:(###) ###-####}", 18005551212);
    This will output "(800) 555-1212".
     
    变量.ToString()

    字符型转换 转为字符串
    12345.ToString("n"); //生成 12,345.00
    12345.ToString("C"); //生成 ¥12,345.00
    12345.ToString("e"); //生成 1.234500e+004
    12345.ToString("f4"); //生成 12345.0000
    12345.ToString("x"); //生成 3039 (16进制)
    12345.ToString("p"); //生成 1,234,500.00%
    ---------------------------------------------------------------------

    本文章来自【龙歌网络】博客园(http://www.cnblogs.com/longle),转载就注明出处哦!

    参考资料:

    -------------------------------------------------------------------------------------------------------------------------------------------------
    数据库优化
    数据库教程
    数据库实战经验分享博客

    百度云下载

    评测


  • 相关阅读:
    1、SASS / SCSS 总结简介
    Chrome 中的 JavaScript 断点设置和调试技巧
    《Javascript 设计模式》-读书笔记
    CSS基线之道
    高性能 CSS3 动画
    《编写高质量代码》web前端开发修炼之道-读书笔记
    《Effective JavaScript》编写高质量的Javascript代码的68个有效方法-读书笔记
    Sea.js-模块化开发框架
    JSLine和JSHint代码质量检查工具和uglifyjs压缩JS的
    在Windows平台上安装Node.js及NPM模块管理
  • 原文地址:https://www.cnblogs.com/longle/p/2190572.html
Copyright © 2011-2022 走看看