• C#(99):格式化信息、格式化数字、格式化日期


    一、格式化方法:

    1、ToString()实例方法

    使用当前文化:

    varname.ToString("C4");

    使用特定文化:

    varname.ToString("C4", new CultureInfo("en-us"));
    varname.ToString("C4", CultureInfo.CreateSpecifiCulture("zh-CN"));

    2、Format()静态方法

    string.Format("{0:C4}",varname);
    string.Format(CultureInfo.InvariantCulture,"{0:C4}",varname);

    3、Console.Write()方法

    Console.Write("{0:C4}",varname);

    4、区域设置:

    s1 = 4123.ToString("C", CultureInfo.InvariantCulture);//¤4,123.00
    s2 = 4123.ToString("C", new CultureInfo("en-us", false).NumberFormat);//$4,123.00
    s3 = DateTime.Now.ToString("f", CultureInfo.InvariantCulture);//Tuesday, 25 June 2019 08:53
    s4 = DateTime.Now.ToString("f", new CultureInfo("en-us", false).DateTimeFormat);//Tuesday, June 25, 2019 8:53 AM

    改变当前线程的文化:

    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

    二、格式化数字(格式符不区分大小写)

    1、格式化整数(对小数将引发异常),格式符后的数字表示总位数

    (1)、格式化为整数,“D”,“Dx”:

    string s1, s2;
    s1 = 4123.ToString("D");//4123
    s2 = 4123.ToString("D6");//004123
    
    Console.WriteLine(s1);
    Console.WriteLine(s2);

    (2)、格式化成十六进制形式,“X”,“Xx”:

    s1 = 4123.ToString("X");//101B
    s2 = 4123.ToString("X6");//00101B

    2、格式化数字,格式符后的数字表示小数位数,可四舍五入。

    (1)、货币形式:“C”,“Cx”,默认两位小数,有逗号

    s1 = 4123.ToString("C");//¥4,123.00
    s2 = 4123.ToString("C3");//¥4,123.000

    (2)、数值形式:“N”,“Nx”,默认两位小数,有逗号

    s1 = 4123.ToString("N");//4,123.00
    s2 = 4123.ToString("N3");//4,123.000

    (3)、定点形式:“F”,“Fx”,默认两位小数,无逗号

    s1 = 4123.ToString("F");//4123.00
    s2 = 4123.ToString("F3");//4123.000

    (4)、指数形式:“E”,”Ex”,默认六位小数:

    s1 = 4123.ToString("E");//4.123000E+003
    s2 = 4123.7328.ToString("E3");//4.124E+003

    3、自定义格式:

    0位零占位符,#为空占位符。

    s1 = 4123.ToString("000.000");//4123.000
    s2 = 4123.ToString("##.###");//4123
    s3 = 4123.ToString("0%");//412300%
    
    s4 = 4123.7328.ToString("000.000");//4123.733
    s5 = 4123.7328.ToString("##.###");//4123.733
    s6 = 4123.7328.ToString("0%");//412373%

    4、IFormatProvider接口

    • 1、CultureInfo:表示一个特殊的区域
    • 2、NumberFormatInfo:特定区域数字格式信息。
    • 3、DateTimeFormatInfo:特定区域日期时间格式信息。具有Calender属性可设置。

    三、格式化日期和时间

    1、标准格式:

    (1)完整格式(Full,包括日期和时间),“F”,“f”,注意:”f“仅精确到分。

    s1=DateTime.Now.ToString("F");//2019年6月24日 17:14:08
    s2=DateTime.Now.ToString("f");//2019年6月24日 17:14

    (2)常规完整格式(General):“G”,“g”。注意:无中文和英文显示,仅符号:”g“仅精确到分钟。

    s1=DateTime.Now.ToString("G");//2019-06-24 17:14:54
    s2=DateTime.Now.ToString("g");//2019-06-24 17:14

    (3)年月日(Day,日期)”D”,“d”。注意:”d”无中文和英文显示,仅符号.

    s1=DateTime.Now.ToString("D");//2019年6月24日
    s2=DateTime.Now.ToString("d");//2019-06-24

    (4)年月(Year)“Y”,“y”(不分大小写)

    s1=DateTime.Now.ToString("Y");//2019年6月
    s2=DateTime.Now.ToString("y");//2019年6月

    (5)月日(Month)“M”,“m”(不分大小写)

    s1=DateTime.Now.ToString("M");//6月24日
    s2=DateTime.Now.ToString("m");//6月24日

    (6)时间(Time)“T”,“t”,注意:”t“仅精确到分。

    s1=DateTime.Now.ToString("T");//17:17:29
    s2=DateTime.Now.ToString("t");//17:17

    2、自定义格式:

    常见格式:yyyy-MM-dd HH:mm:ss

    (1)公元:“%g”:

    s1=DateTime.Now.ToString("%g");//公元

    (2)年: “%y”,“yy”(前导0),“yyy”,“yyyy”,

    s1=DateTime.Now.ToString("%y");//19
    s2=DateTime.Now.ToString("yy");//19
    s3=DateTime.Now.ToString("yyy");//2019
    s4=DateTime.Now.ToString("yyyy");//2019

    (3)月:“%M”,“MM”(前导0),“MMM”,“MMMM”,

    s1=DateTime.Now.ToString("%M");//6
    s2=DateTime.Now.ToString("MM");//06
    s3=DateTime.Now.ToString("MMM");//六月
    s4=DateTime.Now.ToString("MMMM");//六月

    (4)日:“%d”,“dd”(前导0):

    s1=DateTime.Now.ToString("%d");//24
    s2=DateTime.Now.ToString("dd");//24

    (5)星期:“ddd”,“dddd”(全拼):

    s1=DateTime.Now.ToString("ddd");//周一
    s2=DateTime.Now.ToString("dddd");//星期一

    (6)上下午:“%t”,“tt”(全拼):

    s1=DateTime.Now.ToString("%t");//
    s2=DateTime.Now.ToString("tt");//下午

    (7)小时:“%h”(12小时制),“yy”(前导0),“%H”(24小时制),“HH”(前导0)

    s1=DateTime.Now.ToString("%h");//5
    s2=DateTime.Now.ToString("hh");//05
    s3=DateTime.Now.ToString("%H");//17
    s4=DateTime.Now.ToString("HH");//17

    (8)分钟:“%m”,“mm”(前导0):

    s1=DateTime.Now.ToString("%m");//29
    s2=DateTime.Now.ToString("mm");//29

    (9)秒:“%s”,“ss”(前导0):

    s3=DateTime.Now.ToString("%s");//45
    s4=DateTime.Now.ToString("ss");//45

    (10)日期间隔符”%/”,时间间隔符:“%:”:

    s1=DateTime.Now.ToString("%/");//-
    s2=DateTime.Now.ToString("%:");//:

    3、获取日期的英文缩写

    s1 = DateTime.Now.ToString("MMM", CultureInfo.InvariantCulture);//Jun
    s2 = new CultureInfo("en-us", false).DateTimeFormat.GetAbbreviatedMonthName(6);//Jun:
    s3 = new string[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }[DateTime.Now.Month - 1];//Jun
  • 相关阅读:
    win10 下安装 tesseract + tesserocr
    win 10 家庭中文版安装docker ,但是没有 Hyper-V , 这样一步搞定
    Pycharm 分屏
    cookie 和 session
    retrying 模块
    Pychram 运行程序在 run 窗口和 python console 窗口之间切换
    封装、继承、多态
    泛型、反射、注解
    多线程笔记
    多线程
  • 原文地址:https://www.cnblogs.com/springsnow/p/9428632.html
Copyright © 2020-2023  润新知