为什么python -c"print float(7/3)"打印出2.0

mes*_*lds 1 python formatting types

python -c "print float(7/3)"
Run Code Online (Sandbox Code Playgroud)

在我的电脑上打印出2.0.我究竟做错了什么?

这就是我正在使用的:

Python 2.7.4 (default, Apr 19 2013, 18:28:01) 
[GCC 4.7.3] on linux2
Run Code Online (Sandbox Code Playgroud)

Vee*_*rac 13

7/3是Python 2上的整数除法,因此返回2(an int).然后你将它转换为a float,它给出了2.0.

你可能想float(7)/3,7/float(3),7.0/37/3.0.

另请注意,from __future__ import division默认情况下可以执行除法浮点(然后//用于整数除法).

  • @ohmusama:不,它是_floors_.`7/-3`是`-3`,而不是`-2`. (6认同)