0

シェルに次のように入力します: 3 * 7.1
Python は次の値を返します: 21.299999999999997

結果がもちろん21.3のとき。

なぜこうなった?

4

2 に答える 2

2

バイナリシステムでの浮動小数点演算の制限については、こちらをご覧ください。

于 2012-10-01T20:03:36.693 に答える
1

これはフロートの規格に準拠しています。フロートを扱う場合、フロートはバイナリを使用して実装されるため、正確な数値を取得することはできません。考えてみてください。無限の精度で数値を処理する方法はありません。

Floats の Wiki ページを参照してください。

于 2012-10-01T20:03:09.770 に答える