我有一些想要以特定方式格式化的值。非常清楚,它是一个 IP 地址八位字节,我希望它采用“xxx”格式。例如,如果我的八位字节值为“20”,我想将其显示为“020”而不是“20”。
我最终将拥有一个充满 IP 的数组,并且我想正确格式化所有这些。
这是一个我知道有效的例子,我已经弄清楚这是一个整数。
$Test = 1
$Test.ToString("000")
001
这不起作用。我通过 Get-Member 发现该值已经是一个字符串。
$Test = "1"
$test.ToString("000")
Cannot find an overload for "tostring" and the argument count: "1".
At line:1 char:2
+ $test.tostring("000")
+ ~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
关于如何获取已经是字符串格式的值的任何想法,就像我可以使用整数值一样?从长远来看,我希望示例 $test 实际上包含完整的 IP 地址。
例如 10.10.10.10 我想成为 010.010.010.010
回答 给有兴趣的人。通过使用@GregL 示例,我能够为带有前导零的完整 IP 格式组合一个工作示例,如下所示以供参考。
$Test = "10.10.10.10"
$test2 = ($test.Split(".") | ForEach-Object {$_.tostring().padleft(3, '0')}) -join "."