Powershell 设置数值格式 1
设置数值格式 1
格式化操作符 -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  | 
下面看一个例子:
$date= Get-DateForeach ($format in "d","D","f","F","g","G","m","r","s","t","T", `"u","U","y","dddd, MMMM dd yyyy","M/yy","dd-MM-yy") {"PowerShell 日期格式, 使用 $format : {0}" -f $date.ToString($format) } | 
输出:
PowerShell 日期格式,使用 d : 2013/6/6
PowerShell 日期格式,使用 D : 2013年6月6日
PowerShell 日期格式,使用 f : 2013年6月6日 0:13
PowerShell 日期格式,使用 F : 2013年6月6日 0:13:05
PowerShell 日期格式,使用 g : 2013/6/6 0:13
PowerShell 日期格式,使用 G : 2013/6/6 0:13:05
PowerShell 日期格式,使用 m : 6月6日
PowerShell 日期格式,使用 r : Thu, 06 Jun 2013 00:13:05 GMT
PowerShell 日期格式,使用 s : 2013-06-06T00:13:05
PowerShell 日期格式,使用 t : 0:13
PowerShell 日期格式,使用 T : 0:13:05
PowerShell 日期格式,使用 u : 2013-06-06 00:13:05Z
PowerShell 日期格式,使用 U : 2013年6月5日 16:13:05
PowerShell 日期格式,使用 y : 2013年6月
PowerShell 日期格式,使用 dddd, MMMM dd yyyy : 星期四, 六月 06 2013
PowerShell 日期格式,使用 M/yy : 6/13
PowerShell 日期格式,使用 dd-MM-yy : 06-06-13
如果你想找出那些类型支持被格式化选项,只须查找.NET中那些类型支持多余的ToString()方法.
[appdomain]::currentdomain.getassemblies() | ForEach-Object {$_.GetExportedTypes() | Where-Object {! $_.IsSubclassof([System.Enum])}} | ForEach-Object {$Methods = $_.getmethods() | Where-Object {$_.name -eq "tostring"} |%{"$_"};If ($methods -eq "System.String ToString(System.String)") {$_.fullname}} | 
输出:
System.Enum
System.DateTime
System.Byte
System.Convert
System.Decimal
System.Double
System.Guid
System.Int16
System.Int32
System.Int64
System.IntPtr
System.SByte
System.Single
System.UInt16
System.UInt32
System.UInt64
Microsoft.PowerShell.Commands.MatchInfo
例如,其中的数据类型 ”全球唯一标示符”:
System.Guid
因为你会经常使用到它,它是全球通用的,下面会给你一个简单的例子来创建GUID。
PS > $guid = [GUID]::NewGUID()
PS > Foreach ($format in "N","D","B","P") {
>> "GUID with $format : {0}" -f $GUID.ToString($format)}
>>
GUID with N : e1a5d98f4227470b84c2b37a6a8fb894
GUID with D : e1a5d98f-4227-470b-84c2-b37a6a8fb894
GUID with B : {e1a5d98f-4227-470b-84c2-b37a6a8fb894}
GUID with P : (e1a5d98f-4227-470b-84c2-b37a6a8fb894)
Powershell 设置数值格式 1的更多相关文章
- POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】
		
实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同可访问我之前总结的文章),之前写过POI对七种文档(当然也包括EXCEL)的内容读 ...
 - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		
java日期格式大全 format SimpleDateFormat(转) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH ...
 - log_format为Nginx设置日志格式
		
nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式, 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,一般在nginx的配置文件中日记配置 ...
 - .Net如何在后台设置日期格式,并显示在前台页面上
		
其实方法比较老咯,有比这个简单的朋友请留言哈,我的思路是先将数据库中的日期格式读出来,在后台转化成DatetTime类型,然后在使用DateTime的内部方法设置日期格式,代码如下: DateTime ...
 - (转)MyEclipse设置注释格式
		
原文:http://xinghaifeng2006.iteye.com/blog/1243565 MyEclipse设置注释格式(转载) 博客分类: Java基础知识 Windo ...
 - Java json设置时间格式,Jackson设置时间格式,json设置单引号
		
Java json设置时间格式,Jackson设置时间格式,json设置单引号 >>>>>>>>>>>>>>> ...
 - 【SSRS】入门篇(五) -- 设置报表格式
		
原文:[SSRS]入门篇(五) -- 设置报表格式 在上一节 [SSRS]入门篇(四) -- 向报表添加数据 我们设置好了报表,并可以预览到数据,如下图: 当报表完成后,有个重要的工作就是美化报表格式 ...
 - excel将百分比数据转为数值格式
		
由于于原给定的数据是百分比格式的, 所以先在excel中将数据格式改为数值 修改步骤: 单纯更改单元格格式为数值没用,先在空白单元格输入数值格式的1,复制该数字,选中要转换格式的数据, 右键 ---- ...
 - (后端)excel设置日期格式的步骤
		
在excel中设置日期格式,分直接设置和代码设置. 一.直接设置: 选取日期所在的单元格,单元格右键菜单中--设置单元格格式.在单元格格式窗口中选数字类型为“日期”在右边的列表框中选取相应的日期格式即 ...
 
随机推荐
- [面试题总结及扩展知识]HTTP协议返回状态码的问题
			
经常在网页中看到一些错误的返回信息,见一个查一个已经累感不爱,在2014年腾讯笔试题中也见到一道这样的问题,所以现在来总结一下: 腾讯2014面试题: 答案选B 附带一些http协议的错误代码: 当服 ...
 - HDU-2571命运
			
Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机 ...
 - AES的S-BOX构造
			
利用GF(2^8)乘法逆元,以及矩阵运算,可以构造出AES的SBOX. 求乘法逆元的一般方法是利用扩展欧几里得定理,在这里我取了个巧. 因为我已经有了GF的指数表(见上一篇文),利用指数表可以轻易地构 ...
 - memcached学习——大纲简介 && 安装(基于centos6.5)、启动、关闭memcached(一)
			
大纲简介 安装前,先简单介绍一下memcached. memcached是一个免费.开源.高性能的分布式缓存.设计memcached的初衷是为了加快web应用程序,减少DB负载. 安装要求:支持大多数 ...
 - VC CArchive类使用
			
CFile file("D:\\1.txt",CFile::modeCreate | CFile::modeWrite); CArchive ar(&file,CArchi ...
 - Graph Databases—The NOSQL Phenomenon阅读笔记
			
本章内容着重对了NOSQL和RDBMS(关系型数据库管理系统)的不同,以及其各自背后设计时考虑的因素.然后接下来,着重讲述了NOSQL的4种分类方法.下面我们将对重要知识点进行汇总. 1.We def ...
 - zeptoJS:如何像jQuery一样,让滚动变得优雅?
			
利用jQuery的animate() 方法,我们很容易实现滚动条的平滑滚动效果: $(function() { $('#top').click( function (e) { $('html, bod ...
 - Android中的windowSoftInputMode属性详解
			
这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下 在前面的一篇文章中 ...
 - Android中Context具体解释 ---- 你所不知道的Context
			
...
 - 笔记本分享无线Wifi
			
两种方法: 一.使用软件分享,如Wifi共享精灵,设置非常简单. 二.开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网,节省网费 ...