3

私は Python に比較的慣れていないので、ドキュメンテーション Web サイトのチュートリアル ページここに画像の説明を入力を読んでいると、次のスニペットに出会い ました。ただし、これを実行すると、別の結果が得られました。

   .1+.1+.1 == .3
=> True

この質問は些細なことのように思えるかもしれませんが、実際の動作が Python のドキュメントに記載されている動作と一致しなかった理由が気になります。答えはありますか?

この現象は、オンライン通訳者の使用中に発生しました。ローカルで実行すると False が返されました。

4

2 に答える 2

1

最初のコメントが答えです。私のシステムでは:

Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 0.1+0.1+0.1 == 0.3
False
>>>

Python ドキュメントから ( http://docs.python.org/2/tutorial/floatingpoint.html ):

2 進浮動小数点演算には、このような多くの驚きがあります。「0.1」の問題については、以下の「表現エラー」</a> セクションで詳しく説明しています 。他の一般的な驚きのより完全な説明については、浮動小数点の危険性を参照してください。

于 2013-04-19T15:35:04.307 に答える