我是Python的新手,我正尝试将数字四舍五入到10000
规模。
例如:
a = 154795
b = a / 10000 # 15.4795
c = round(b) # 15
我想将c
舍入到16
,即使b = 15.0001
,也要将a
舍入到160000
,然后再传递给b
。
我将如何实现这一目标?
谢谢您的建议。
答案 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,ccc
和a.bbb.ccc
都很熟悉,而a.bbbc
并不熟悉。