我想在Powershell中将小数点后两位取整。
我从双“ 178.532033”开始。如果我使用Excel ROUNDUP函数到小数点后两位,我会得到“ 178.54”。
=ROUNDUP(A1,2)
但是,如果我使用Powershell的Math类中包含的Round函数,则会得到结果“ 178.53”(因为我舍入而不是舍入):
$value = 178.532033
Write-Output = ([Math]::Round($value, 2))
在Powershell中是否可以将小数点后两位取整?
答案 0 :(得分:1)
舍弃:
$a = 9;
$b = 5;
[math]::truncate($a/$b)
综述:
$a = 9;
$b = 5;
if ( ($a % $b) -eq 0 )
{
$a/$b
}
else
{
[math]::truncate($a/$b)+1
}
答案 1 :(得分:1)
仅在四舍五入前加0.005:
$value = 178.532033
Write-Output = ([Math]::Round($value + 0.005, 2))
此间隔为[1.000,1.010)至[1.005,1.015)。第一个间隔ROUNDUP(2)到1.01中的所有值,第二个间隔ROUND(2)到1.01中的所有值。
通常,如果四舍五入到小数点后k位,则通过正常舍入结果,将0.5 / 10 ^ k向上舍入,或将其减去以向下舍入。
答案 2 :(得分:0)
这可以通过数学类的ceiling
和floor
方法轻松处理。
脚本:
$a = 657
$b = 234
$a/$b
[math]::floor($a/$b)
[math]::ceiling($a/$b)
输出:
2.80769230769231
2
3
答案 3 :(得分:-1)