【问题标题】:How can I check if a 2 numbers have the same digits PowerShell?如何检查2个数字是否具有相同的数字PowerShell?
【发布时间】:2022-01-20 07:31:35
【问题描述】:

我想比较两个 int,所以如果它们包含相同的数字,它会输出一个 true,例如:

$a=1260
$b=2106

然后因为它们都包含:0126 它输出 true 如何做到这一点? 如果有可能用尽可能少的行

【问题讨论】:

  • 将数字转换为字符串,将字符串拆分为两个char数组,使用Compare-Object比较数组。

标签: powershell integer comparison


【解决方案1】:

这是一种技巧:

$null -eq (Compare-Object -ReferenceObject ([char[]][String]1260) -DifferenceObject ([char[]][String]2601))

返回truefalse,具体取决于数字是否相同。

【讨论】:

    【解决方案2】:

    这是另一个更长一点的解决方案:

    ( $a.ToString().ToCharArray() | ForEach-Object { $c = $true } { if ( $b.ToString() -notmatch $_.ToString() ) { $c = $false } } { $c } ) -and ( $b.ToString().ToCharArray() | ForEach-Object { $c = $true } { if ( $a.ToString() -notmatch $_.ToString() ) { $c = $false } } { $c } )
    

    这会将int 比较为数组,因此需要双向运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2021-06-21
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      相关资源
      最近更新 更多