47
A
回答
102
有三个选项:
>>> 4/float(100)
0.04
>>> 4/100.0
0.04
这是相同的行为C,C++,JAVA等,或
:>>> from __future__ import division
>>> 4/100
0.04
您还可以通过传递参数-Qnew
Python解释器激活此行为
$ python -Qnew
>>> 4/100
0.04
第二个选项将是Python 3.0中的默认选项。如果你想拥有旧的整数除法,你必须使用//
运算符。
编辑:添加了关于-Qnew
的部分,感谢ΤΖΩΤΖΙΟΥ!
1
尝试4.0/100
1
一个简单的路线4/100.0
或
4.0/100
3
你需要告诉Python使用浮点值,而不是整数。你可以简单地通过自己在投入使用小数点:
>>> 4/100.0
0.040000000000000001
7
使条款的一个或两个浮点数,就像这样:
4.0/100.0
或者,打开此功能,这将是在Python 3.0默认情况下,“真师”,那你想要做什么。在你的模块或脚本的顶部,这样做:
from __future__ import division
0
你不能获得通过将一个整数与另一个十进制值,你会得到永诺的整数方式(导致截断整数)。您至少需要一个值作为十进制数。
+0
请注意,如果您使用/,则在Python 3.0中不会出现这种情况。 – 2008-09-22 20:13:00
23
其他答案建议如何获得浮点值。虽然这wlil接近你想要什么,它不会是准确的:
>>> 0.4/100.
0.0040000000000000001
如果你真的想要一个十进制值,这样做:
>>> import decimal
>>> decimal.Decimal('4')/decimal.Decimal('100')
Decimal("0.04")
这会给你一个对象正确地知道在基数10中的4/100是“0.04”。浮点数实际上是以2为底的,即二进制,而不是十进制。
3
你也可以看看Python的decimal包。这将提供很好的小数结果。
>>> decimal.Decimal('4')/100
Decimal("0.04")
-4
1
在这里,我们下面
from __future__ import division
print(4/100)
print(4//100)
-3
进口部给从未来图书馆两种可能的情况是这样的:
相关问题
- 1. Python整数除法运算符vs math.floor
- 2. 如何在python中使用boost :: python(pyopencv)使用C++运算符
- 3. 如何使用模数运算符来计算小数
- 4. 如何在C#中获得特定的运算符函数?
- 5. 如何在Hibernate中使用TYPE运算符时处理空值?
- 6. 使用python的**运算符和*运算符时的符号
- 7. 如何在Python 2.7中获得大于24小时的小时值?
- 8. 如何正确使用python + =运算符?
- 9. 如何获得的值在运行时
- 10. 如何在stl算法中使用glm的运算符==?
- 11. 获取值使用间接运算符
- 12. 如何使用迭代运算符来获得HTML和PHP
- 13. 简单赋值运算符在Python中变得复杂
- 14. C#,通过属性获得的价值使用++运算符(获得)
- 15. 如何在C++中使用“%”运算符?
- 16. 如何在C中使用运算符?
- 17. 如何在Sequelize中使用运算符?
- 18. 使用除非运算符
- 19. 如何在php中使用运算符时返回字符串?
- 20. 如何在PostgreSQL中获得运算符定义?
- 21. 获得后面的值?运算符在URL中
- 22. 如何使用运算符`?`从数组中获取项目?
- 23. 如何在使用WITH CUBE时获得中位数值?
- 24. 如何在Python中使用十进制值进行模运算?
- 25. 如何获得python的小数精度?
- 26. 如何在Python中模拟赋值运算符重载?
- 27. 除法运算数
- 28. 如何使用?:运算符
- 29. 如何使用%运算符?
- 30. 运算符在Python函数中重载的类似用法
也请添加python的可用性-Q new`命令行选项使您的答案更加完整。 – tzot 2008-09-23 09:26:16
这给出了一个浮点值,而不是一个十进制值。看到雕文的答案。 – Jim 2008-09-23 15:19:50
您也可以在源代码中使用`from __future__ import division`。 – 2012-03-23 04:56:39