zoukankan      html  css  js  c++  java
  • 格式化数字字符串

    标准数字格式字符串:

    C or c  货币     "{0:C}" -f 1.23   结果:¥1.23 或 $1.23

    D or d 十进制  "{0:d3}" -f 2       结果:002 (在前面补0,补足3位)

    E or e 科学计数法 "{0:E3}" -f [Math]::Pi 结果:3.142E+000

    F or f 固定的点。精确说明小数点后的位数 "{0:F3}" -f [Math]::Pi 结果:3.142

    N or n 数字 "{0:N4}" -f 1mb 结果:1,048,576.0000

    P or p 百分比 "{0:P4}" -f 0.67 结果:67.0000%

     #####################################

    {0:N0}
    最开头的0(分号前面的0)表示被格式化项目的索引序号. 以后使用时, 只需要在这里填上0, 格式化命令就会很好得为你工作.
    字符N表示了应用的格式类型; 这个例子中, 字符N就是Numeric的缩写. 那着里还有其他我们可以应用的格式吗? 当然还有了, 我们稍后会再介绍一些的.
    第二个0(字符N后面的0)被称为“精度指示符,” 当与数字格式结合使用时, 用于指示显示几位小数点后数字.
    例:
    "{0:N2}" -f 554.22272 = 554.22

     #####################################

     (10).ToString({0.0})  结果: 10.0
     
     [math]::Round(3.1415926,4) 

     (0.6666).tostring('P') 结果:66.66%

     [string]::Format('{0:p1}',0.1234) 结果:12.3%

     

    自定义数字格式字符串:

    0 零占位符    "{0:00.0}" -f 4.12341234 结果:04.1

    # 数字占位符  "{0:##.#}" -f 4.12341234 结果:4.1  

    , 千位分隔符   "{0:#,#.#}" -f 1234.12341234 结果:1,234.1 

    ,, 缩放比例  如果放置在格式文本(或隐式)小数点之前时,将会除以1000    “{0:##,,.000}” -f 1048576 结果:1.049

    % 百分比,将输入乘以100,并插入百分号  “{0:%##.000}” -f .68 结果:68.000%

    'text' 文本字符串,插入按原义提供的文本到输出,而不会影响格式 "{0:#.00'##'}" -f 2.71828 结果:2.72##

    Other 其他字符,插入按原义提供的文本到输出,而不会影响格式 "{0:$## Please}" -f 14 结果:$14 Please

    "iii{0:d2}" -f 2  返回结果:iii02

    $a=1
    $a.tostring('d2') 返回结果:01

    ##############################################################################

    参考:http://www.pstips.net/setting-numeric-formats.html

    格式化操作符 -f 可以将数值插入到字符串,每一个通配符都有统一的结构。

    {index[,alignment][:format]}:

    •  Index:

    索引编号用来识别把那个值用来替换通配符。例如你可能使用了多个通配符,或者同一个通配符使用了多次,甚至多种格式。此时,索引编号是唯一能够识别那个值将用来替换。另外两个选项Alignment和Format则作为辅助条件

    • Alignment:

    正数和负数,可以指定目标值是否左对齐或者右对齐。还可以支持数值以指定的宽度显示,如果数值的实际宽度大于指定宽度,则忽略指定宽度。如果数值宽度小于指定宽度,剩余的部分会以空白填充,这一选项非常利于制表。

    • Format:

    数值可以被格式化成许多不同的类型,下面会预览这些你可能会用到一些格式概要。

    格式化语句比较特殊,大小写敏感,这和PowerShell中其它语句的使用稍有不同。下面举个例子:

    # 使用小写字母d:格式化
    "Date: {0:d}" -f (Get-Date)
     
    Date: 2013/5/31
     
    # 使用大写字母D:格式化
    "Date: {0:D}" -f (Get-Date)
    Date: 2013年5月31

    符号

    类型

    调用示例

    输入结果

    #

    数字占位符

    “{0:(#).##}” -f $value

    (1000000)

    %

    百分号

    “{0:0%}” -f $value

    100000000%

    ,

    千分符

    “{0:0,0}” -f $value

    1,000,000

    ,.

    一千的整数倍

    “{0:0,.} ” -f $value

    1000

    .

    小数点

    “{0:0.0}” -f $value

    1000000.0

    0

    占位符 0

    “{0:00.0000}” -f

    $value

    1000000.0000

    c

    货币

    “{0:c}” -f $value

    ¥1,000.00

    d

    十进制

    “{0:d}” -f $value

    1000000

    e

    科学计数法

    “{0:e}” -f $value

    1.000000e+006

    e

    指数通配符

    “{0:00e+0}” -f $value

    10e+5

    f

    保留小数位

    “{0:f}” -f $value

    1000000.00

    g

    常规

    “{0:g}” -f $value

    1000000

    n

    千分符

    “{0:n}” -f $value

    1,000,000.00

    x

    十六进制

    “0x{0:x4}” -f $value

    0x4240

    使用上面表格中,你可以快速并舒服地格式化数值,例如千分符的使用可以让用户避免去纠结,1后面到底跟了几个0,是10万呢,还是100万。

    另外PowerShell还提供了非常丰富的日期格式化选项,相关的格式见下表。

    符号

    类型

    调用示例

    输出

    d

    短日期格式

    “{0:d}” –f $value

    2013/6/1

    D

    长日期格式

    “{0:D}” –f $value

    2013年6月1日

    t

    短时间格式

    “{0:t}” –f $value

    “{0:t}” –f $value

    T

    长时间格式

    “{0:T}” –f $value

    23:18:50

    f

    完整日期和时间(短)

    “{0:f}” –f $value

    2013年6月1日 23:18

    F

    完整日期和时间(长)

    “{0:F}” –f $value

    2013年6月1日 23:18:50

    g

    标准时间 (短)

    “{0:g}” –f $value

    2013/6/1 23:18

    G

    标准时间长 (长)

    “{0:G}” –f $value

    2013/6/1 23:18:50

    M

    月日格式

    “{0:M}” –f $value

    6月1日

    r

    RFC1123 日期格式

    “{0:r}” –f $value

    Sat, 01 Jun 2013 23:18:50 GMT

    s

    排序日期格式

    “{0:s}” –f $value

    2013-06-01T23:18:50

    u

    通用日期格式

    “{0:u}” –f $value

    2013-06-01 23:18:50Z

    U

    通用排序日期 GMT格式

    “{0:U}” –f $value

    2013年6月1日 15:18:50

    Y

    年/月格式模式

    “{0:Y}” –f $value

    2013年6月

    自定义日期格式

    dd

    一个月中天

    “{0:dd}” -f $value

    01

    ddd

    星期的缩写

    “{0:ddd}” -f $value

    周六

    dddd

    完整星期

    “{0:dddd}” -f $value

    星期六

    gg

    纪年法

    “{0:gg}” -f $value

    公元

    hh

    小时0-12

    “{0:hh}” -f $value

    11

    HH

    小时0-23

    “{0:HH}” -f $value

    23

    mm

    分钟

    “{0:mm}” -f $value

    18

    MM

    月份

    “{0:MM}” -f $value

    06

    MMM

    月份缩写

    “{0:MMM}” -f $value

    六月

    MMMM

    完整月份

    “{0:MMMM}” -f $value

    六月

    ss

    “{0:ss}” -f $value

    55

    tt

    上午或者下午

    “{0:tt}” -f $value

    下午

    yy

    两位数字的年份

    “{0:yy}” -f $value

    13

    yyyy

    四位数字的年份

    “{0:yyyy}” -f $value

    2013

    zz

    不包含分钟的时区

    “{0:zz}” -f $value

    +08

    zzz

    包含分钟的时区

    “{0:zzz}” -f $value

    +08:00

  • 相关阅读:
    [原]Eclipse 安装SVN、Maven插件(补充)
    [原]几个云笔记的简单比较
    [原]Unity3d中奇怪的编译错误
    [原]unity中WWW isDone方法只能在主线程中调用
    C语言。格式化符号
    Unity iOS Guideline 1.3
    AR增强现实 之Metaio For Unity 开发 之HelloWorld
    Unity 4.6 bate 20 or 4.5.5 +vuforia3.0.9 发布到真机错误 解决
    服务器端Ajax异步分页类,基本通用分页类
    从数据库中读取数据并写入到Excle电子表格之2
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/3816655.html
Copyright © 2011-2022 走看看