Powershell&.NET数值取整处理
如何取一个数的整数值?
- 使用类型强制转换
Powershell的强制转换有2种方式,一种是直接类型强制转换,另一种是通过-as运算符进行转换
- PS F:\> [int] (3 / 2) # 直接类型强制转换
- 2
- PS F:\> (3 / 2) -as [int] # -as运算符进行类型转换
- 2
- PS F:\>
强制转换的结果是四舍五入计算的。
- 使用,NET类
现在我们需要找另一种方法来解决问题:取【不大于值】的【最大整数】
用【.NET类】中【Math类】的【Floor方法】可以实现
- PS F:\> [math]::floor(3 / 2)
- 1
但这种方法只对正数有效。如果是负数,就要用[math]::ceiling了,取不小于参数值的最小整数。
- PS F:\> [math]::Ceiling(-3/2)
- -1
$size=("{0:N2}" -f ($subFolderItems.sum / 1GB)) 保留小数点后两位
$size=[math]::truncate($disk.size/1GB) 截取小数点,保留整数
$size=("{0:N2}" -f ($subFolderItems.sum / 1GB)) 保留小数点后两位
$size=[math]::truncate($disk.size/1GB) 截取小数点,保留整数