0
それは不正なデータを返すので、私は、私は山車を比較しています方法に問題がある:Pythonの比較山車
0.100000 < 0.100000 =
def check_potential_field(current, squares):
if len(squares) == 0:
return False
for square in squares:
distance = math.sqrt(math.pow(current.x - square.x, 2) + math.pow(current.y - square.y, 2))
if distance < current.current_distance:
print "%f < %f = True" % (distance, current.current_distance)
return True
return False
ケア:ここ
は、それがどのように見える可能性がどのようでしょうか? –
'0.1 + 0.1 + 0.1 == 0.3'を試しましたか? 'False';を返す) –
2つの浮動小数点は異なる値を持つことができますが、それらを印刷するときも同じように見えます。これは、浮動小数点数の文字列表現が四捨五入されて、小数点の後に十桁近く表示されないようにするためです。実際に0.1と0.1000001を比較している可能性があります。もちろん、前者が後者よりも小さい場合もあります。 – Kevin