str(0.47000000000000003)给予
'0.47'并且
float('0.47')可以0.46999999999999997。这是由于表示浮点数的方式(请参阅此Wikipedia文章)
注意:
float(repr(0.47000000000000003))或
eval(repr(0.47000000000000003))会给您预期的结果,但如果需要精度,则应使用Decimal。

str(0.47000000000000003)给予
'0.47'并且
float('0.47')可以0.46999999999999997。这是由于表示浮点数的方式(请参阅此Wikipedia文章)
注意:
float(repr(0.47000000000000003))或
eval(repr(0.47000000000000003))会给您预期的结果,但如果需要精度,则应使用Decimal。