为什么当答案介于0和1之间时,PowerShell似乎给我错误的答案?
PS C:\users\me> 31.2 - 31
0.199999999999999 <<< wrong
PS C:\users\me> 31.2 - 30
1.2 <<< right
PS C:\users\me> 31.2 % 10
1.2 <<< right
PS C:\users\me> 30.2 % 10
0.199999999999999 <<< wrong
PS C:\users\me> 30.2 / 151
0.2 <<< right
Run Code Online (Sandbox Code Playgroud) 我试图将变量的内容添加到数组中.不知道数组是否已初始化,我使用前面的数据插入逗号以强制它作为数组进行求值.似乎在执行此操作时,使用前面的逗号到您的实际项目,该indexof方法不会为数组中的第一个项目提供正确的索引.
在下面的代码示例中,$a展示了问题,同时$b工作正常; 唯一的区别是初始化时前面的逗号$a.
这是一个错误,还是我错过了什么?
PS C:\code> $a = (,4,5,6)
PS C:\code> $b = (4,5,6)
PS C:\code> $a
4
5
6
PS C:\code> $a.indexof(4)
-1
PS C:\code> $a.indexof(5)
1
PS C:\code> $a.indexof(6)
2
PS C:\code> $b
4
5
6
PS C:\code> $b.indexof(4)
0
PS C:\code> $b.indexof(5)
1
PS C:\code> $b.indexof(6)
2
Run Code Online (Sandbox Code Playgroud)
因为有问题,我只是用我的变量作为前缀[array]并删除了前缀逗号,一切似乎都很好.我只是好奇发生了什么事.