M J*_*ter 2 powershell powershell-2.0
为什么当答案介于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)
你需要使用[小数]来获得人在街上的数学.
[decimal]31.2 - [decimal]31
Run Code Online (Sandbox Code Playgroud)
要么
31.2d - 31
Run Code Online (Sandbox Code Playgroud)
数字文字默认为double,不能表示多个小数(因为它们需要重复分数,涉及舍入错误等)
参考:https: //devcentral.f5.com/articles/powershell-abcs-t-is-for-type-literals