Python除法如何向上取整?

2012-12-30 11:23:53 +08:00
 kenneth
求思路。
21569 次点击
所在节点    Python
11 条回复
clowwindy
2012-12-30 11:28:10 +08:00
>>> round(2.5)
3.0

指这个?
clowwindy
2012-12-30 11:29:22 +08:00
>>> math.ceil(2.1)
3.0
kenneth
2012-12-30 11:33:45 +08:00
@clowwindy 我是说python除法的向上取整,你的是向上取整,但是不是python除法。
darcy
2012-12-30 11:44:37 +08:00
UP(A/B) = int((A+B-1)/B)
楼主要的这个?
funagi
2012-12-30 11:47:47 +08:00
reusFork
2012-12-30 15:16:12 +08:00
math.ceil(10 / 3.0)
sNullp
2012-12-30 15:26:33 +08:00
@reusFork 楼主两个数字都是整型。4楼是正解。
reusFork
2012-12-30 15:36:20 +08:00
@sNullp 这个公式确实方便,我之前都是用math.ceil(A / float(B))
yegle
2012-12-31 17:08:17 +08:00
看了半天才明白…

from __future__ import division
result = math.ceil(3/2)

最简单明了了
reloop
2013-12-06 16:35:30 +08:00
@darcy
@sNullp
@reusFork
请问为什么 UP(A/B) = int( (A+B-1)/B ) 可以向上取整? 计算过程是怎样的?
sNullp
2013-12-06 21:16:16 +08:00
计算过程就是 A 加 B 减 1 除 B。。
你拿纸算一下 A+B-1 的范围就知道了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/56204

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX