2つのダブルを比較しようとすると、次のような現象が発生しました。私は以下等しいを使用するようにwhile文を変更した場合powershellでダブルスを正しく比較するには?
1.2
1.3
1.4
:
[double]$maxValue = 1.5
[double]$startValue = 1.2
[double]$counter = $startValue
while ($counter -lt $maxValue) {
Write-Host $counter
$counter += 0.1
}
出力:次の基本的なスクリプトを考えると
しばらく($カウンタ-le $ maxValueの){
出力:
1.2
1.3
1.4
これは上記とまったく同じで、最後に期待される最後の値 "1.5"がありません。
powershellで2つの倍精度を正しく比較するにはどうすればよいですか?
おかげで、何かが起こっているような疑いがあり、何が決定できなかったのでしょうか。 decimalのように見え、[double]ではなく[decimal]でコードを更新し、期待どおりに動作します。 – mundeep