zoukankan      html  css  js  c++  java
  • 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%

  • 相关阅读:
    大杂烩 -- 查找单向链表倒数第m个元素
    大杂烩 -- 单向链表是否存在环或是否相交
    大杂烩 -- 四种生成和解析XML文档的方法详解
    延伸 -- 泛型 -- 通配符的使用
    延伸 -- 泛型 -- 泛型的内部原理:类型擦除以及类型擦除带来的问题
    延伸 -- 泛型 -- 泛型的基本介绍和使用
    大杂烩 -- HashMap、HashTable、ConCurrentHashMap 联系与区别
    大杂烩 -- ArrayList的动态增长 源码分析
    Java -- 异常的捕获及处理 -- 自定义异常类
    Java字符串占位符(commons-text)替换(转载)
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/1942909.html
Copyright © 2011-2022 走看看