• C#编程(四十五)----------格式字符串


    格式字符串

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元)

    案例:

                string str=string.Format("{0:C}",0.2);

                Console.WriteLine(str);

    分析:中文操作系统的结果为:0.20 (英文操作系统结果:$0.20

    默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数.

    string str=string.Format("{0:C1}",23.15); //输出为:23.2(截去会自动四舍五入)

    格式化多个object实例

                string str=string.Format("市场价:{0:C},优惠价{1:C}", 23.15, 19.82);

                Console.WriteLine(str);

    2.格式化是进指定数字(格式化成固定的位数,位数不能少于未格式化,只支持整形)

    案例:

                string str = string.Format("{0:D3}",23);

                Console.WriteLine(str);

                //精度说明符指示结果字符串中所需的最少数字个数

                string str = string.Format("{0:D2}",1234);

                Console.WriteLine(str);

    3.用分号隔开的数字,并指定小数点后的位数

    案例:

                //默认小数点后面两位

                string str = string.Format("{0:N}",14200);

                Console.WriteLine(str);

                //自动四舍五入

                string str = string.Format("{0:N3}",14200.2458);

    4.格式化百分比

    案例:

                //默认保留百分的两位小数

                string str = string.Format("{0:P}",0.24583);

                //自动四舍五入

                string str = string.Format("{0:P1}",0.24583);

                Console.WriteLine(str);

    5.零占位符和数字占位符

    案例:

                string str = string.Format("{0:0000.00}",12394.039);

                Console.WriteLine(str);//输出12394.04

                str = string.Format("{0:0000.00}", 194.039);

                Console.WriteLine(str);//输出0194.04

                str = string.Format("{0:###.##}", 12394.039);

                Console.WriteLine(str);//输出12394.04

                str = string.Format("{0:####.#}", 194.039);

                Console.WriteLine(str);//输出194

    零占位符:

    如果格式化的值在格式字符串中出现”0”的位置有一个数字,则此数字被复制到结果字符串中.小数点前最左边的”0”的位置和小数点后最右边的”0”的位置确定总在结果字符串中出现的数字范围.

    “00”说明符是的值被舍入到小数点前最近的数字,其中零位总被舍入.

    数字占位符:

    如果格式化的值在格式字符串中出现”#”的位置有一个数字,则此数字被复制到结果字符串中.否则,结果字符串中的此位置不存储任何值.

    注意,如果”0”不是有效数字,此说明符永不显示”0”字符,及时”0”是字符串中位移的数字.如果”0”是所显示的数字中的有效数字,则显示”0”字符.

    “##”格式字符串使得值被舍入到小数点前最近的数字,其中零总被舍去.

    ps:空格占位符

    string.Format("{0,-50}", theObj);//格式化成50个字符,原字符左对齐,不足则补空格 
    string.Format("{0,50}", theObj);//格式化成50个字符,原字符右对齐,不足则补空格

    6.日期格式化

    案例:

                string str = "";

                str = string.Format("{0:d}",System.DateTime.Now);

                Console.WriteLine(str);

                str = string.Format("{0:D}", System.DateTime.Now);

                Console.WriteLine(str);

                str = string.Format("{0:f}", System.DateTime.Now);

                Console.WriteLine(str);

                str = string.Format("{0:F}", System.DateTime.Now);

                Console.WriteLine(str);

                str = string.Format("{0:g}", System.DateTime.Now);

                Console.WriteLine(str);

                str = string.Format("{0:G}", System.DateTime.Now);

                Console.WriteLine(str);

                str = string.Format("{0:m}", System.DateTime.Now);

                Console.WriteLine(str);

                str = string.Format("{0:t}", System.DateTime.Now);

                Console.WriteLine(str);

                str = string.Format("{0:T}", System.DateTime.Now);

                Console.WriteLine(str);

    输出依次是:

    2015/7/21

    2015721

    2015721日 18:09

    2015721日 18:09:32

    2015/7/21 18:09

    2015/7/21 18:09:32

    721

    18:09

    18:09:32

    总结一下各种格式标示符

    字母

    含义

    Cc

    货币格式

    Dd

    十进制格式(十进制整数,不要和decimal数据类型混淆)

    Ee

    指数格式

    Ff

    固定精度格式

    Gg

    常用格式

    Nn

    用逗号分割千位的数字,比如1234会变成1.234

    Pp

    百分符号格式

    Rr

    圆整(只用与浮点数)保证一个数字被转换成字符串以后尅再被转回成同样的数字

    Xx

    16进制格式

    案例:

                int i = 123456;

                Console.WriteLine("{0:C}", i);//123,456.00

                Console.WriteLine("{0:D}", i);//123456

                Console.WriteLine("{0:E}", i);//1.234560E+005

                Console.WriteLine("{0:F}", i);//123456.00

                Console.WriteLine("{0:G}", i);//123456

                Console.WriteLine("{0:N}", i);//123,456.00

                Console.WriteLine("{0:P}", i);//12,345,600.00%

                Console.WriteLine("{0:X}", i);//1E240

    精度控制标识符控制了有效 数字的个数或者十进制小数的位数.

                int i = 123456;

                Console.WriteLine(" {0:C5}", i);//123,456.00

                Console.WriteLine("{0:D5}", i);//123456

                Console.WriteLine("{0:E5}", i);//1.23456E+005

                Console.WriteLine("{0:F5}", i);//123456.00000

                Console.WriteLine("{0:G5}", i);//1.23456E5

                Console.WriteLine("{0:N5}", i);//123,456.00000

                Console.WriteLine("{0:P5}", i);//12,345,600.00000%

                Console.WriteLine("{0:X5}", i);//1E240

    如果标准格式化标识符还不能满足你.可以使用图形化格式字符串来创建定制的字符串输出.图形化格式化使用占位符来表示最小位数,最大位数,定位符号,负号的外观以及其他数字符号的外观.下表:

    符号

    名称

    含义

    0

    0占位符

    0填充不足的位数

    #

    数字占位符

    #代替实际的位数

    .

    十进制小数点

    ,

    千位分隔符

    用逗号进行千位分隔,比如把1000分割成1,000

    %

    百分号符

    显示一个百分标识

    E+0E-0e+0e-0

    指数符号

    用指数符号格式化输出

    ‘ABC’ ”ABC”

    常量字符串

    显示单引号或者双引号里面的字符串

    ;

    区域分隔符

    如果数字会被格式化成整数,负数,或者0,;来进行分割

    ,.

    缩放符号

    数字除以1000

    案例:

                double i = 123456.42;

                Console.WriteLine();

                Console.WriteLine("{0:000000.00}", i);//123456.42

                Console.WriteLine("{0:00.00000000e+0}", i);//12.34564200e+4

                Console.WriteLine("{0:0,.}", i);//123

                Console.WriteLine("{0:#0.000}", i);//123456.420

                Console.WriteLine("{0:#0.000;(#0.000)}", i);//123456.420

                Console.WriteLine("{0:#0.000;(#0.000);<zero>}", i);//123456.420

                Console.WriteLine("{0:#%}", i);//12345642%

                i = -123456.42;

                Console.WriteLine();

                Console.WriteLine("{0:000000.00}", i);//-123456.42

                Console.WriteLine("{0:00.00000000e+0}", i);//-12.34564200e+4

                Console.WriteLine("{0:0,.}", i);//-123

                Console.WriteLine("{0:#0.000}", i);//-123456.420

                Console.WriteLine("{0:#0.000;(#0.000)}", i);//(123456.420)

                Console.WriteLine("{0:#0;(#0);<zero>}", i);//(123456)

                Console.WriteLine("{0:#%}", i);//-12345642%

                i = 0;

                Console.WriteLine();

                Console.WriteLine("{0:0,.}", i);//0

                Console.WriteLine("{0:#0}", i);//0

                Console.WriteLine("{0:#0;(#0)}", i);//0

                Console.WriteLine("{0:#0;(#0);<zero>}", i);//<zero>

                Console.WriteLine("{0:#%}", i);//%

     

  • 相关阅读:
    Git commit 信息标准和丢弃必须要的commit
    Markdown list状态下插入代码
    INIT: vesion 2.88 booting
    I.MX6 support eMMC 5.0
    GitLab non-standard SSH port
    PenMount Touch显示鼠标指针驱动安装
    Android WebView remote debugging
    Android预安装可卸载程序
    jmeter(六)元件的作用域与执行顺序
    jmeter(五)JDBC Request
  • 原文地址:https://www.cnblogs.com/android-blogs/p/6603665.html
Copyright © 2020-2023  润新知