首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: 4/5=0.0。浮动声明丢失了吗?

Python: 4/5=0.0。浮动声明丢失了吗?
EN

Stack Overflow用户
提问于 2016-10-04 15:08:41
回答 6查看 981关注 0票数 0

如果已经有人问到这一点,请原谅,但为什么这样做:

代码语言:javascript
复制
a=4
b=5
c=float(a/b)

print c

给出

代码语言:javascript
复制
>>>>
0.0

而不是0.8?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-10-04 15:12:18

在Python2中,两个整数之间的除法将返回一个整数(将最接近的整数舍入到0),在本例中为0。您的代码基本上是float(0),即0.0

如果要返回浮点数,则需要首先将其中一个值更改为浮点数。

这种行为在Python3中是改变的,在这里,两个整数之间的除法将返回一个浮点,在本例中是0.8

票数 2
EN

Stack Overflow用户

发布于 2016-10-04 15:11:52

因为这是整数除法:

代码语言:javascript
复制
>>> 4/5
0

如果您想获得0.8,请在除法之前先将其中的一个转换为浮点数:

代码语言:javascript
复制
>>> 4/float(5)
0.8
票数 4
EN

Stack Overflow用户

发布于 2016-10-04 15:53:47

如果您不想在其中一个变量中引入浮点数。你可以这样做:

代码语言:javascript
复制
from __future__ import division

4/5

这将给出你想要的0.8,而不必引入浮动。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39855857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档