シェルに次のように入力します: 3 * 7.1
Python は次の値を返します: 21.299999999999997
結果がもちろん21.3のとき。
なぜこうなった?
シェルに次のように入力します: 3 * 7.1
Python は次の値を返します: 21.299999999999997
結果がもちろん21.3のとき。
なぜこうなった?
バイナリシステムでの浮動小数点演算の制限については、こちらをご覧ください。
これはフロートの規格に準拠しています。フロートを扱う場合、フロートはバイナリを使用して実装されるため、正確な数値を取得することはできません。考えてみてください。無限の精度で数値を処理する方法はありません。
Floats の Wiki ページを参照してください。