c#格式化字符串 toString()

1、使用 ToString 方法的默認格式設置

public class Automobile
{
    public string Name { get; set; } = "小王";
}
Automobile firstAuto = new Automobile();
Console.WriteLine(firstAuto.ToString());

2、重寫ToString

public class Automobile2
{

    public string Name { get; set; } = "小王";
    public override string ToString()
    {
        return Name;
    }
}
Automobile2 firstAuto2 = new Automobile2();
Console.WriteLine(firstAuto2.ToString());

3、枚舉格式字符串

    DayOfWeek thisDay = DayOfWeek.Monday;
    string[] formatStrings = { "G", "F", "D", "X" };
    foreach (string formatString in formatStrings)
        Console.WriteLine(thisDay.ToString(formatString));
    //
    //    public enum DayOfWeek
    //{
    //    //
    //    // 摘要:
    //    //     表示星期日。
    //    Sunday = 0,
    //    //
    //    // 摘要:
    //    //     表示星期一。
    //    Monday = 1,
    //    //
    //    // 摘要:
    //    //     表示星期二。
    //    Tuesday = 2,
    //    //
    //    // 摘要:
    //    //     表示星期三。
    //    Wednesday = 3,
    //    //
    //    // 摘要:
    //    //     表示星期四。
    //    Thursday = 4,
    //    //
    //    // 摘要:
    //    //     表示星期五。
    //    Friday = 5,
    //    //
    //    // 摘要:
    //    //     表示星期六。
    //    Saturday = 6
    //}
    //g  枚舉成員的字符串表示
    //f  枚舉成員的字符串表示
    //d  十進制表示
    //x  十六進制表示

4、標準數字格式字符串

    float number1 = 123.456f;
    Console.WriteLine(number1.ToString("c"));//默認保留兩位的貨幣表示
    Console.WriteLine(number1.ToString("c5"));
    Console.WriteLine(number1.ToString("c1"));//保留小數點後幾位的貨幣表示
    int number2 = 123;
    Console.WriteLine(number2.ToString("d"));
    Console.WriteLine(number2.ToString("d5"));
    Console.WriteLine(number2.ToString("d1"));// 十進制(“D”)格式說明符,總共保留多少位的十進制數,如果位數不足,則在前面補0,只能用於整數

    float number3 = 123.456f;
    Console.WriteLine(number3.ToString("e"));//指數計數法,默認小數點後六位
    Console.WriteLine(number3.ToString("e1"));//指數計數法,默認小數點後1位
    Console.WriteLine(number3.ToString("e2"));//指數計數法,默認小數點後2位

    float number4 = 123.4566f;
    Console.WriteLine(number4.ToString("f"));//保留小數後2位,並且進行了四捨五入
    Console.WriteLine(number4.ToString("f1"));//保留小數後1位
    Console.WriteLine(number4.ToString("f3"));//保留小數後3位

    float number5 = 123.4566f;
    Console.WriteLine(number5.ToString("g"));//保留所有數據
    Console.WriteLine(number5.ToString("g1"));//保留1位有效位,不足以表示的,使用指數表示
    Console.WriteLine(number5.ToString("g3"));//保留3位有效位

    float number6 = 12557.4566f;
    Console.WriteLine(number6.ToString("n"));//保留小數點後兩位,和f相比的話,差別在於整數部分超過3位時,用逗號分隔顯示
    Console.WriteLine(number6.ToString("n1"));//保留1位有效位,不足以表示的,使用指數表示
    Console.WriteLine(number6.ToString("n4"));//保留3位有效位

    float number7 = 0.4566f;
    Console.WriteLine(number7.ToString("p"));//保留小數點後兩位,並進行百分比顯示
    Console.WriteLine(number7.ToString("p1"));//保留小數點後1位,並進行百分比顯示
    Console.WriteLine(number7.ToString("p4"));//保留小數點後4位,並進行百分比顯示

    int number8 = 255;
    Console.WriteLine(number8.ToString("x"));//以兩位16進製表示
    Console.WriteLine(number8.ToString("x4"));//以4位16進製表示,不足的部分,在前面補0
    Console.WriteLine(number8.ToString("x6"));//以6位16進製表示,不足的部分,在前面補0

5、 自定義數字格式字符串

    double value = 12345.3456;
    Console.WriteLine(value.ToString("000.00"));//沒有零的地方補上零,並且控制了小數點後的位數
    Console.WriteLine(String.Format("{0:000.00}", value));
    Console.WriteLine(value.ToString("###.#####"));//沒有#的地方,則不顯示
    Console.WriteLine(String.Format("{0:###.#####}", value));

6、標準日期和時間格式字符串

    DateTime dateTime = DateTime.Now;
    Console.WriteLine(dateTime.ToString("d"));//年月日
    Console.WriteLine(dateTime.ToString("D"));//年月日
    Console.WriteLine(dateTime.ToString("f"));//年月日,時分
    Console.WriteLine(dateTime.ToString("F"));//年月日,時分秒

    Console.WriteLine(dateTime.ToString("g"));//年月日,時分
    Console.WriteLine(dateTime.ToString("G"));//年月日,時分秒

    Console.WriteLine(dateTime.ToString("m"));//月日
    Console.WriteLine(dateTime.ToString("M"));//月日

    Console.WriteLine(dateTime.ToString("o"));//
    Console.WriteLine(dateTime.ToString("O"));//

    Console.WriteLine(dateTime.ToString("r"));//
    Console.WriteLine(dateTime.ToString("R"));//

    Console.WriteLine(dateTime.ToString("s"));//


    Console.WriteLine(dateTime.ToString("t"));//只顯示時間,時分
    Console.WriteLine(dateTime.ToString("T"));//只顯示時間,時分秒

    Console.WriteLine(dateTime.ToString("u"));//
    Console.WriteLine(dateTime.ToString("U"));//


    Console.WriteLine(dateTime.ToString("y"));//年月
    Console.WriteLine(dateTime.ToString("Y"));//年月

7、 自定義日期和時間格式字符串

    DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15,789);
    Console.WriteLine(date1.ToString("d,M",//一個月中的某一天表示爲從 1 到 31 的數字
                      CultureInfo.InvariantCulture));
    Console.WriteLine(date1.ToString("dd,M",//一個月中的某一天表示爲從 1 到 31 的數字,不滿兩位數補零
                     CultureInfo.InvariantCulture));

    Console.WriteLine(date1.ToString("ddd,M",//一個星期中的某一天,簡寫
                     CultureInfo.InvariantCulture));
    Console.WriteLine(date1.ToString("dddd,M",//一個星期中的某一天,全稱
                     CultureInfo.InvariantCulture));
    Console.WriteLine(date1.ToString("hh:mm:ss.f"));//f代表毫秒的最高位,一個f代表
    Console.WriteLine(date1.ToString("hh:mm:ss.ff"));
    Console.WriteLine(date1.ToString("hh:mm:ss.fff"));//f代表毫秒的最高位,3個f代表所有毫秒
    Console.WriteLine(DateTime .Now .ToString ("yyyy-MM-dd:hh-mm-ss-fff"));//h代表12小時計時
    Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd:hh-mm-ss-fff"));//H代表24小時計時
    Console.WriteLine(DateTime.Now.ToString("yyyy/MM/dd:hh-mm-ss-fff"));//H代表24小時計時
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章