Powershellを電卓がわり使う場合の注意点

コンピュータ
PowerShellのあれこれ
以下の計算を電卓とPowershellで実行してみる。
123.456 – 123.115
電卓
0.341
Powershell
PS>123.456 – 123.115
0.341000000000008
この二つの結果、見方によっては概ね同じ数値ですが、この結果だと困ることもあります。
そういう場合は以下のような方法で計算します。
PS>123.456d – 123.115d
0.341
電卓の結果に近い結果になりました。
違いは計算に使った数値の型がDouble型とDecimal型の違いによるものです。
Decimal型の数値を記述する場合は数値の後にdをつけます。
Powershellを電卓代わりにする場合はDeciaml型で計算するとよいです。
Powershellではないですが、数値型による計算誤差を知らないプロのプログラマが作ったシステムを見たことがあります。そのシステムで売上処理を行うと消費税の金額が画面と印刷物で1円違うなど、だれが見てもおかしな現象が発生していました。

コメント