gpt4 book ai didi

powershell - 算术运算符的问题

转载 作者:行者123 更新时间:2023-12-03 00:43:02 24 4
gpt4 key购买 nike

我的问题是我正在尝试在PowerShell脚本中放入一个简单的数学公式,但是这个“算术运算符”现在对我来说是个问题,它曾经以这种方式工作,但是发生了一些变化,现在不再重要我将其乘以更多的数字,就好像它们是字母一样(只是将它们全部堆叠在一起)

我什至尝试使用修复它
$x=[int]$xx
修复我的变量,以便PowerShell可以理解,并且确实不能用破折号Ex: 7.5 or 3.1 or 9.6没有破折号。谁能帮我

$pi=[math]::pi
$xx= Read-Host -prompt "X "
$yy= Read-Host -prompt "Y "
$zz= Read-Host -prompt "Z "
$x=[int]$xx
$y=[int]$yy
$z=[int]$zz
$re = $z * $y
$r = $z * $x + $y * $x + $z * $x + $y * $x
$res = 2 * ($re) + $r
echo .
echo "$r = $z * $x + $y * $x + $z * $x + $y * $x"
echo .
echo "$re = $z * $y"
echo .
echo "$res = 2 * ($re) + $r"
echo .
echo "Total = $res"
echo .
pause

如果运行此命令并将X设置为27,Y设置为7.5,Z设置为17,则答案应为1578,并对其进行了修复

最佳答案

您得到错误的答案,因为7.5不是[int]。将其舍入为7.5到8是四舍五入。您需要$y=[single]$yy才能使此工作或任何其他支持小数的类型。如果期望十进制值,我将所有[int]替换为[single]。请参阅以下内容:

$pi=[math]::pi
$xx= Read-Host -prompt "X "
$yy= Read-Host -prompt "Y "
$zz= Read-Host -prompt "Z "
$x=[single]$xx
$y=[single]$yy
$z=[single]$zz
$re = $z * $y
$r = $z * $x + $y * $x + $z * $x + $y * $x
$res = 2 * ($re) + $r
echo "$r = $z * $x + $y * $x + $z * $x + $y * $x"
echo "$re = $z * $y"
echo "$res = 2 * ($re) + $r"
echo "Total = $res"

上面的变量的输出:
$x,$y,$z,$re,$r,$res
27
7.5
17
127.5
1323
1578

您可能会使用的其他类型是 [double][decimal],它是带小数的默认数字的默认类型。您还可以使用 -as类型的 $y = $yy -as [double]类型运算符。参见 About Type Operators

关于powershell - 算术运算符的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55635356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com