在 Python 中四舍五入一个数字
-
在 Python 2.x 中使用
math.ceil()
函数四舍五入一个数字 - 在 Python 中使用简单的算术方法将一个数字四舍五入
- 在 Python 中使用取整除法运算符来舍入一个数字
-
在 Python 中使用
numpy.ceil()
方法四舍五入一个数字
本教程介绍了各种方法来解释对数字进行舍入的概念。有多种方法可以以正确的方式四舍五入一个数字。例如,可以使用 Python 提供的 math
模块,NumPy
模块来四舍五入一个数字。本教程将使用示例代码片段介绍这些不同的方法。
在 Python 2.x 中使用 math.ceil()
函数四舍五入一个数字
如果你使用的是 Python 2.x 版本,则可以使用 math.ceil()
函数正确舍入一个数字。ceil()
函数由 Python 的 math
库提供。因此,我们需要首先导入 math
库。ceil
函数采用需要四舍五入的数字。它可以使用一个表达式,然后根据结果四舍五入所得的数字。
但是,应注意,在 Python 2.x 中,int/int
会产生 int
,而 int/float
会产生 float
。因此,我们需要将 float
中的值之一赋予 ceil
函数以获得准确的结果。如果 ceil
函数中一个表达式的两个值都是整数,则可能会产生错误的结果。
下面的示例代码,说明在 Python 2.x 中如何使用 math.ceil()
对一个数字进行舍入的概念。
import math
print(math.ceil(27 / 4))
print(math.ceil(27.0 / 4))
输出:
6
7
在 Python 中使用简单的算术方法将一个数字四舍五入
也可以使用 Python 中的简单算术对数字进行四舍五入。此方法适用于所有版本的 Python。它将第一个表达式转换为 integer
数据类型,并根据另一个表达式的结果添加 0 或 1 值。其他表达式查找具有相同分母的数字的模数,并检查其是否大于 0。如果余数大于 0,则将第一个表达式加一个,如果为 false,则将第一个表达式加 0。
下面给出了一个示例代码,以说明如何在 Python 中使用简单的算术对数字进行舍入而无需导入 math
库。
n = 22
div = 5
print(int(n / div) + (n % div > 0))
输出:
5
在 Python 中使用取整除法运算符来舍入一个数字
取整除法运算符的符号是//
。它的作用方式与简单的除法运算符/
相同,但它还会舍入数字。所以,在 Python 中,它通常被用来向下舍入数字。然而,我们也可以修改它的用法,将一个数字向上舍入。我们可以通过用负
数除以答案来做到这一点。这将节省任何导入或使用 float 和任何其他条件的费用。它只对整数起作用。
下面给出了一个示例代码,以详细说明如何使用取整除法在 Python 中四舍五入一个数字。
n = 22
div = 5
answer = -(-n // div)
print(answer)
输出:
5
类似地,我们可以通过将分母加到分子上并从中减去 1 来舍入一个数字。然后整个表达式将被底数除以分母。这是一种直接方法,不涉及任何浮点和外部模块。下面给出了此方法的示例代码。
numerator = 22
denominator = 5
answer = (numerator + denominator - 1) // denominator
print(answer)
输出:
5
在 Python 中使用 numpy.ceil()
方法四舍五入一个数字
舍入数字的另一种方法是使用 numpy.ceil()
方法。首先,我们需要在脚本中导入 NumPy
模块,然后使用 ceil()
方法将数字取整。ceil()
函数的返回类型为 float,因此即使表达式为整数,输出也将为 float。通过将输出显式转换为整数,可以将输出显式转换为整数数据类型。
下面给出了在 Python 中四舍五入该方法的示例代码。
import numpy as nmp
n = 22
div = 5
answer = n / div
print(nmp.ceil(answer))
print(int(nmp.ceil(answer)))
输出:
5.0
5
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn