总是将数字四舍五入

时间:2019-12-11 13:52:36

标签: python rounding

我是Python的新手,我正尝试将数字四舍五入到10000规模。

例如:

a = 154795
b = a / 10000 # 15.4795
c = round(b) # 15

我想将c舍入到16,即使b = 15.0001,也要将a舍入到160000,然后再传递给b

我将如何实现这一目标?

谢谢您的建议。

4 个答案:

答案 0 :(得分:4)

您可以使用math的功能ceil。 这是一个示例:

import math
a = 150001
b = a / 10000
print(math.ceil(b))

输出:

16

当然,如果要存储变量,则可以使用:

import math
a = 15001
b = math.ceil(a / 1000)
print(b)

对于相同的输出:

16

答案 1 :(得分:2)

您应该在python的ceil模块中使用math函数

  

math.ceil()函数返回的最小整数值大于   号码。如果number已经是整数,则返回相同的数字。

from math import ceil
a = 154795
b = a / 10000 # 15,4795
c = ceil(b) # 16
print(c)

答案 2 :(得分:1)

@Dschoni说了什么。

import numpy as np

a = 154795
b = a / 10000 # 15,4795
c = np.ceil(b) # always rounds up. Gives 16 here

答案 3 :(得分:1)

向上整形为整数N除以D(强调向上和正数)的标准整数算术方式为< / p>

(N + D - 1) // D

新的分子项是不会翻转到除数D next 倍数的最大值,这意味着我们可以使用整数底除。例如

def nquot(n, d):
    # next quotient (I couldn't think of a better name)
    return (n + d - 1) // d

>>> nquot(150000, 10000)
15
>>> nquot(150001, 10000)
16

与其他答案中的math.ceil一样,通常更容易允许转换为浮点并在那里进行舍入。


PS。您的数字分组很奇怪。 a,bbb,ccca.bbb.ccc都很熟悉,而a.bbbc并不熟悉。