首页 > 解决方案 > 如何在 Python 中向上/向下舍入一个 int?

问题描述

假设我有一个任意整数 874,623,123 我如何将它向下舍入到 800,000,000 和最多 900,000,000?另一个例子是 759 向上取整到 800 或向下取整到 700。整数的大小是未知的。

有内置的方法吗?如果没有,最好的解决方法是什么?对不起,这里不是数学专家。

编辑:到目前为止,我已经看过

将整数向下舍入到最接近的倍数

Python将整数四舍五入到下一百

两者都使用预定义的分隔符

标签: python

解决方案


您可以使用该math模块:

import math

n = 874623123

# c contains the same number of digits as n
c = 10 ** int(math.log10(n))

print(math.floor(n/c) * c) # 800000000
print(math.ceil(n/c) * c)  # 900000000

推荐阅读