Excel Powershell十进制D命令或手动数学

Excel Powershell十进制D命令或手动数学,excel,math,powershell,decimal,Excel,Math,Powershell,Decimal,Powershell脚本.ps1 胜过 问题:在脚本中 #CALCULATE FREE MEMORY AS PERCENTAGE #DECLARE VARIABLES #MY CURRENT FREE SERVER MEM $currentMem = ([math]::round($freemem.FreePhysicalMemory / 1024, 2)) #MY SERVER MEM LIMIT $maxMemLimit = 16000 #MY FINAL FREE MEM VALUE P

Powershell脚本.ps1 胜过

问题:在脚本中

#CALCULATE FREE MEMORY AS PERCENTAGE

#DECLARE VARIABLES
#MY CURRENT FREE SERVER MEM
$currentMem = ([math]::round($freemem.FreePhysicalMemory / 1024, 2))
#MY SERVER MEM LIMIT
$maxMemLimit = 16000
#MY FINAL FREE MEM VALUE PERCENTAGE VARIABLE HOLDER
$freeMemPerc = 0

#MY WORKING OUT
$freeMemPerc = ($maxMemLimit / $currentMem)

#I CAN ADD THIS LINE BELOW OR LEAVE IT OUT IF I USE THE NUMBER FORMAT TYPES (DECIMAL)
#CURRENTLY IT'S COMMENTED
#$freeMemPerc = 100 * $freeMemPerc

#ADD TO SPREADSHEET
#USING THE DECIMAL D CMD TO FORMAT THE NUMBER
"Free Memory (% of MB total): {0:D}" -f $freeMemPerc
$Sheet.Cells.Item($intRow,1) = "Free Memory (% of MB total):"
$Sheet.Cells.Item($intRow,2) = "$freeMemPerc %"
$Sheet.Cells.Item($intRow,3).Interior.ColorIndex = 20
$Sheet.Cells.Item($intRow,4).Interior.ColorIndex = 20
$Sheet.Cells.Item($intRow,5).Interior.ColorIndex = 20
情景: 我试图将MB和GB的服务器值转换为基于服务器限制的百分比。假设我当前的服务器使用量是:2617.89mb,我应该在电子表格中得到答案:16.3618125

基于数学:2617.89/16000*100

目前我收到的结果是6.11。我也尝试过给D加上其他的小数或减少小数,但仍然没有得到我的答案

我认为我的编程是错误的,不是我的数学,尽管事实上我的数学很糟糕

有什么想法吗


来源:

也看到了这一点:但没有成功。如果预期结果是15.625,而您得到的是15.625,那么问题出在哪里?哈哈,我真傻,对不起,我已经更新并使用了当前值。pnuts,我尝试过了,但我得到了一个不同的值,当前可用空间2287.11的值为0.14%。我认为问题在于数字格式。错误:“格式说明符无效”。我可以告诉你{0.0}比{0.D}好,但我认为应该是其他类似的东西。哦,对于smarties,我最后的评论仍然表明百分比值格式有错误,而不是结果0.14%,因为就2287.11的使用而言,这是正确的。