Python 2.7 で float を 100 で除算すると、次のような「丸め動作」が得られます。
>>> 3.7e-03/100
3.7000000000000005e-05
私は次のことを期待します:
>>> 3.7e-03/100
3.7e-05
ご了承ください:
>>> 3.7e-03/100 == 3.7e-05
False
>>> 3.7000000000000005e-05 == 3.7e-05
False
おそらくほとんどのアプリケーションで実質的な違いはありませんが、私はこの動作がやや当惑していることに気付きました。
これはなぜ起こり、どうすれば回避できますか?
Python を使用しています: '2.7.5 |Anaconda 1.7.0 (32 ビット)| (デフォルト、2013 年 7 月 1 日 12:41:55) [MSC v.1500 32 ビット (Intel)]'