600 行の長いコードの中に、奇妙な計算をするコードの一部があります。
idl = 0
print type(dl), dl
idl = int(dl*10)+1
print idl
これは以下を返します:
<type 'float'> 0.1
1
この計算は、私のコードの定義で行われます。これは明らかに期待された結果ではありません。奇妙なことに、上記のコードを別の python ファイルにコピーすると、次のようになります。
idl = 0
dl = 0.1
print type(dl), dl
idl = int(dl*10)+1
print idl
私は得る:
<type 'float'> 0.1
2
この問題の原因は何ですか? 問題を簡単にするためにこれらの部分を抽出しましたが、必要に応じてより多くの情報を提供できます。