如何在Python中向上取整浮点数?


在本文中,我们将向您展示如何在Python中向上取整浮点数。

使用round()函数向上取整浮点数

round()函数返回一个指定小数位数的浮点数,它是指定数字的四舍五入版本。

因为默认的小数位数为0,所以该函数将返回最接近的整数。

语法

round(number, digits)

参数

  • number(必填) − 需要四舍五入的数字

  • digits(可选) − 要四舍五入的小数位数。默认为0。

Python有一个内置函数round()用于此目的。该函数接受两个参数:要四舍五入的数字和要四舍五入到的位数。如果要将数字四舍五入到最接近的整数,则不提供第二个参数。

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 创建一个变量来存储输入数字。

  • 使用round()函数通过将输入数字作为参数来向上取整输入数字。

示例

以下程序使用round()函数返回输入数字的向上取整值:

# input number inputNum = 2.14357 # rounding up the input number using the round() function print("rounding up", inputNum,":", round(inputNum))

输出

执行上述程序将生成以下输出:

rounding up 2.14357 : 2

向上取整前向round()函数添加0.5

在这种方法中,在使用round()函数向上取整之前,将0.5添加到数字。

示例

# input number inputNum = 2.14357 # adding 0.5 to the input number and then rounding up using the round() function print("Adding 0.5 to", inputNum,"and then rounding up:", round(inputNum+0.5))

输出

执行上述程序将生成以下输出:

Adding 0.5 to 2.14357 and then rounding up: 3

我们取一个浮点数,例如2.143,然后向其添加0.5(使数字变为2.6143>2.5),然后再将其作为参数传递给round()函数。因此,在这种情况下,round()函数将此整数四舍五入到上限,因为它超过了一半,即2.5,所以结果是3。

使用ceil()函数向上取整浮点数

在Python中,方法ceil(x)返回大于或等于x的最小整数。它被称为x的向上取整值。

语法

import math
math.ceil(x)

参数

  • x − 任何实数

返回值 − 返回不小于x的最小整数。

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 使用import关键字导入math模块

  • 使用math.ceil()函数获取数字的向上取整值,即大于或等于该数字的最小整数,方法是将该数字作为参数传递给它。

示例

以下程序返回Python中给定浮点数的向上取整值:

# importing math module import math # getting the ceiling value of numbers using math.ceil() print("Round-Up value of -12.11:", math.ceil(-12.11)) print("Round-Up value of 50.26:", math.ceil(50.26)) print("Round-Up value of 30.5:", math.ceil(30.5)) print("Round-Up value of 1.1:", math.ceil(1.1))

输出

执行上述程序将生成以下输出:

Round-Up value of -12.11: -12
Round-Up value of 50.26: 51
Round-Up value of 30.5: 31
Round-Up value of 1.1: 2

使用布尔逻辑向上取整浮点数

示例

以下程序使用bool()函数返回输入数字的向上取整值:

# input number n = 3.4 # rounding up the number print("rounding up the value of", n,":",int(n) + bool(n%1))

输出

执行上述程序将生成以下输出:

rounding up the value of 3.4: 4

使用Decimal()函数向上取整浮点数

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 使用import关键字从decimal模块导入所有函数(要导入所有函数,我们使用*运算符)。

  • 使用decimal()函数(默认情况下提供50位小数的值)将给定数字转换为十进制数,然后使用quantize()函数对其进行量化。

示例

以下程序使用decimal模块的Decimal()函数返回输入浮点数的向上取整值:

# importig all functions from the decimal module from decimal import * # rounding up the number print("the Round up value of 5.834 =",int(Decimal(5.834).quantize(Decimal('1.'), rounding=ROUND_UP)))

输出

执行上述程序将生成以下输出:

the Round up value of 5.834 = 6

使用int()函数向上取整浮点数

示例

以下程序使用int()函数返回输入浮点数的向上取整值:

# input number n = 115.914 # rounding up the number print("Round up value of ",n,"is",int(n) + ((int(n) - n) != 0))

输出

执行上述程序将生成以下输出:

Round up value of 115.914 is 116

使用非运算符向上取整浮点数

示例

以下程序使用int()is_integer()函数返回输入浮点数的向上取整值:

# input number n = 5.3 # rounding up the number result = int(n) + (not n.is_integer()) # priting the resultant rounded-up number print("rounding up value of", n,":", result)

输出

执行上述程序将生成以下输出:

rounding up value of 5.3 : 6

结论

在本教程中,我们介绍了使用多种方法在Python中向上取整给定浮点数的方法。通过示例,我们还学习了round()方法,该方法用于向上取整指定的整数。我们还学习了decimal模块,它允许我们将给定的浮点数转换为十进制数并对其进行向上取整。

更新于:2023年10月26日

25K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告