嘿伙计们,我无法弄清楚如何将以下函数(需要输入)转换为变量
function Convert-ToLetters ([parameter(Mandatory=$true,ValueFromPipeline=$true)][int] $value) {
$currVal = $value;
$returnVal = '';
while ($currVal -ge 26) {
$returnVal = [char](($currVal) % 26 + 65) + $returnVal;
$currVal = [int][math]::Floor($currVal / 26)
}
$returnVal = [char](($currVal) + 64) + $returnVal;
return $returnVal
}
该函数的作用是将数字转换为字母。
现在我想要实现的是以某种方式做到这一点:
$convert2letter = Convert-ToLetters()
这样我就可以做类似的事情
$WR= "$convert2letter($CValue1)" + "-" + "$convert2letter($CValue2)" + "-" + "3"
但是 Powershell 不允许我执行 $convert2letter
那么我在这里能做什么?
谢谢
最佳答案
如果没有更多信息来证明它的合理性,我会认为:
$WR= "$convert2letter($CValue1)" + "-" + "$convert2letter($CValue2)" + "-" + "3"
你应该这样做:
$WR = "$(Convert-ToLetters $CValue1)-$(Convert-ToLetters $CValue2)-3"
使用子表达式。或者使用格式运算符
$WR = "{0}-{1}-3" -f (Convert-ToLetters $CValue1), (Convert-ToLetters $CValue2)
关于function - 带有函数输出的 Powershell 格式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41025495/