小编sma*_*dan的帖子

PowerShell [数学]::舍入有时不舍入?

我很难弄清楚为什么有时两个舍入值相减会得到一个非舍入值。就像 2.2 - 1.1 = 1.10000001 一样。

我在 PowerShell 中有这样的脚本块:

foreach($disk in $disks) 
{
    $size = $disk.Size
    $freespace = $disk.FreeSpace
    $percentFree = [Math]::Round(($freespace / $size) * 100)
    $sizeGB = [Math]::Round($size / 1073741824, 2)
    $freeSpaceGB = [Math]::Round($freespace / 1073741824, 2)
    $usedSpaceGB = $sizeGB - $freeSpaceGB

    #view the variable values in every iteration
    Write-Debug "`$size = $size"
    Write-Debug "`$freespace = $freespace"
    Write-Debug "`$percentFree = $percentFree%"
    Write-Debug "`$sizeGB = $sizeGB"
    Write-Debug "`$freeSpaceGB = $freeSpaceGB"
    Write-Debug "`$usedSpaceGB = $usedSpaceGB"
}
Run Code Online (Sandbox Code Playgroud)

令人麻烦的部分是:

$usedSpaceGB = $sizeGB …
Run Code Online (Sandbox Code Playgroud)

powershell rounding

5
推荐指数
1
解决办法
4870
查看次数

标签 统计

powershell ×1

rounding ×1