总是将数字向上取整

问题描述 投票:1回答:4

我是Python的新手,我正尝试将数字四舍五入为10000比例。

例如:

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

即使c,我也想将16舍入为b = 15.0001,或者在将其传递给a之前将160000舍入为b

我将如何实现这一目标?

谢谢您的建议。

python rounding
4个回答
3
投票

您可以使用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

2
投票

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

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

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

0
投票

@ Dschoni说了什么。

import numpy as np

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

0
投票

up整数N除以​​D(加重并为正)的标准整数算术方法为]](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并不熟悉。
© www.soinside.com 2019 - 2024. All rights reserved.