浮動小数点数を浮動小数点数に変換する必要があります。 Python 2.7では、正しい変換が行われますが、Pythonでは同じではありません。これは、Python 2.6で行うにはPython 2.6とどのようで同じではありませんなぜPython 2.6とPython 2.7での浮動小数点数の動作
は、私は誰も私を助けることができる
はPython 2.6で同じ動作をします。 Pythonの2.6
>>> a
'60.000,494.100,361.600,553.494'
>>> eval(a)
(60.0, 494.10000000000002, 361.60000000000002, 553.49400000000003)
>>> import ast
>>> ast.literal_eval(a)
(60.0, 494.10000000000002, 361.60000000000002, 553.49400000000003)
>>>
>>> for i in a.split(","):
... float(i)
...
60.0
494.10000000000002
361.60000000000002
553.49400000000003
>>>
のPython 2.7
>>> a
'60.000,494.100,361.600,553.494'
>>> eval(a)
(60.0, 494.1, 361.6, 553.494)
>>> import ast
>>> ast.literal_eval(a)
(60.0, 494.1, 361.6, 553.494)
>>>
>>> for i in a.split(","):
... float(i)
...
60.0
494.1
361.6
553.494
そのが見えない
良い
[編集2]
だけプリント値と条件
print fGalleyTopRightOddX, ">=", tLinetextBbox[2], fGalleyTopRightOddX>=tLinetextBbox[2]
361.6 >= 361.6 False
I私は文字列からtLinetextBbox
値を計算し、361.60000000000002
とfGalleyTopRightOddX
値が、私はのapacheがサーバであるPythonのDjangoのプロジェクトに取り組んでいます361.6
です。 361.6
すなわち
fGalleyTopRightOddX
が361.60000000000002
すなわちapacheの環境でtLinetextBbox
を計算しているが、CMDに基づいて計算されて、私はline os.system
コマンドが実行するプログラムにfGalleyTopRightOddX
を渡す意味[編集3] ちょうど1より多くの情報、
その後、私は、Python 2.6で同じ結果を得るために361.59999999999997
どちらの場合でも正しい値を得ています。それはちょうどそのPython 2です。7 [浮動小数点数の表示方法の改善](https://docs.python.org/3/whatsnew/2.7.html#other-language-changes) (「すべてのコンピュータ科学者が浮動小数点数について知っておくべきこと」を頭に入れてください) – kennytm
@kennytmどちらの場合も同じ*間違った値があると言う方がいいかもしれません。 –
@kennytmとJohan:ありがとうございますが、私はまだ間違った答えを得ています。私は質問を更新しました、あなたは再び見ることができますか? –