• String.Format格式说明


    以前写sql不喜欢用string.Format拼接,但是有些数据的显示用string.Format格式化还是不错的。

    下文转自 :http://www.cnblogs.com/tuyile006/archive/2006/07/13/449884.aspx  (备份用)

    C#格式化数值结果表

    字符

    说明

    示例

    输出

    C货币string.Format("{0:C3}", 2)$2.000
    D十进制string.Format("{0:D3}", 2)002
    E科学计数法1.20E+0011.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

    There really isn't any formatting within a strong, beyond it's alignment. Alignment works for any argument being printed in a String.Format call.

     

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

    Numbers

    Basic number formatting specifiers:

     

    SpecifierTypeFormat

    Output 
    (Passed 
    Double 1.42)

    Output 
    (Passed 
    Int -12400)

    cCurrency{0:c}$1.42-$12,400
    dDecimal (Whole number){0:d}System.
    FormatException
    -12400
    eScientific{0:e}1.420000e+000-1.240000e+004
    fFixed point{0:f}1.42-12400.00
    gGeneral{0:g}1.42-12400
    nNumber with commas for thousands{0:n}1.42-12,400
    rRound trippable{0:r}1.42System.
    FormatException
    xHexadecimal{0:x4}System.
    FormatException
    cf90

    Custom number formatting:

     

    SpecifierTypeExampleOutput (Passed Double 1500.42)Note
    0Zero placeholder{0:00.0000}1500.4200Pads with zeroes.
    #Digit placeholder{0:(#).##}(1500).42
    .Decimal point{0:0.0}1500.4
    ,Thousand separator{0:0,0}1,500Must be between two zeroes.
    ,.Number scaling{0:0,.}2Comma adjacent to Period scales by 1000.
    %Percent{0:0%}150042%Multiplies by 100, adds % sign.
    eExponent placeholder{0:00e+0}15e+2Many exponent formats available.
    ;Group separatorsee 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.

     

    SpecifierTypeExample (Passed System.DateTime.Now)
    dShort date10/12/2002
    DLong dateDecember 10, 2002
    tShort time10:11 PM
    TLong time10:11:29 PM
    fFull date & timeDecember 10, 2002 10:11 PM
    FFull date & time (long)December 10, 2002 10:11:29 PM
    gDefault date & time10/12/2002 10:11 PM
    GDefault date & time (long)10/12/2002 10:11:29 PM
    MMonth day patternDecember 10
    rRFC1123 date stringTue, 10 Dec 2002 22:11:29 GMT
    sSortable date string2002-12-10T22:11:29
    uUniversal sortable, local time2002-12-10 22:13:50Z
    UUniversal sortable, GMTDecember 11, 2002 3:13:50 AM
    YYear month patternDecember, 2002

    The 'U' specifier seems broken; that string certainly isn't sortable.

    Custom date formatting:

     

    SpecifierTypeExampleExample Output
    ddDay{0:dd}10
    dddDay name{0:ddd}Tue
    ddddFull day name{0:dddd}Tuesday
    f, ff, ...Second fractions{0:fff}932
    gg, ...Era{0:gg}A.D.
    hh2 digit hour{0:hh}10
    HH2 digit hour, 24hr format{0:HH}22
    mmMinute 00-59{0:mm}38
    MMMonth 01-12{0:MM}12
    MMMMonth abbreviation{0:MMM}Dec
    MMMMFull month name{0:MMMM}December
    ssSeconds 00-59{0:ss}46
    ttAM or PM{0:tt}PM
    yyYear, 2 digits{0:yy}02
    yyyyYear{0:yyyy}2002
    zzTimezone offset, 2 digits{0:zz}-05
    zzzFull timezone offset{0:zzz}-05:00
    :Separator{0:hh:mm:ss}10:43:20
    /Separator{0:dd/MM/yyyy}10/12/2002

    Enumerations

     

    SpecifierType
    gDefault (Flag names if available, otherwise decimal)
    fFlags always
    dInteger always
    xEight digit hex.

    Some Useful Examples

    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%

  • 相关阅读:
    socket详解(二)----实例和多线程,线程池使用
    OpenJDK和JDK区别
    单词(11)
    程序员到项目经理:从内而外的提升(比较全面的介绍)
    如何成为一名自然语言处理工程师
    权限设计文章汇总
    ECharts+百度地图,默认选中 卫星地图
    Echarts3.0 引入百度地图(转载)
    echarts地图 鼠标滚动控制缩放大小比例(转载)
    echarts散点图 不显示问题 或宽度为0问题
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/1942909.html
Copyright © 2020-2023  润新知